func(circs,{ sub({ let(x1,elem([x],1)) :let(x2,elem([y],1)) :let(x3,elem([z],1)) :let(y1,elem([x],2)) :let(y2,elem([y],2)) :let(y3,elem([z],2)) :let(alpha,(([x2])^2)-(([x1])^2)+(([y2])^2)-(([y1])^2)) :let(delta,(([x3])^2)-(([x1])^2)+(([y3])^2)-(([y1])^2)) :let(beta, -2*([x2])+2*([x1])) :let(gamma, 2*([y1])-2*([y2])) :let(epsilon,-2*([x3])+2*([x1])) :let(rho, 2*([y1])-2*([y3])) :let(machine,0.0001): :`Some division-by-zero prevention...' :let(beta, iff(greater([machine],abs([beta])), {[beta]+[machine]},{[beta]})) :let(gamma, iff(greater([machine],abs([gamma])), {[gamma]+[machine]},{[gamma]})) :let(epsilon,iff(greater([machine],abs([epsilon])), {[epsilon]+[machine]},{[epsilon]})) :let(rho, iff(greater([machine],abs([rho])), {[rho]+[machine]},{[rho]})) :let(k,([alpha]/[beta]-[delta]/[epsilon]) /([rho]/[epsilon]-[gamma]/[beta])) :let(h,([alpha]/[gamma]-[delta]/[rho]) /([epsilon]/[rho]-[beta]/[gamma])) :let(rad,sqrt(([x1]-[h])^2+([y1]-[k])^2)) :let(result,<[h],[k],[rad]>) :print_[result] }) })(<4,1>,<-3,7>,<5,-3>)