Diagrams.TwoD.Apollonian:initialConfig from diagrams-contrib-1.3.0.5, B

Time bar (total: 1.9s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze129.0ms (6.8%)

Memory
-21.6MiB live, 168.2MiB allocated; 29ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
30.8%25%56.2%0.1%0%18.7%0%7
30.8%25%56.2%0.1%0%18.7%0%8
32%25%53%0.1%0%21.8%0%9
55.8%37.4%29.6%0.1%0%32.8%0%10
55.8%37.4%29.6%0.1%0%32.8%0%11
57.8%37.4%27.3%0.1%0%35.1%0%12
Compiler

Compiled 12 to 10 computations (16.7% saved)

sample1.2s (63.1%)

Memory
36.3MiB live, 1 682.8MiB allocated; 205ms collecting garbage
Samples
619.0ms8 256×0valid
229.0ms2 556×0invalid
Precisions
Click to see histograms. Total time spent on operations: 411.0ms
ival-mult: 233.0ms (56.7% of total)
ival-sub: 97.0ms (23.6% of total)
ival-sqrt: 74.0ms (18% of total)
ival-assert: 4.0ms (1% of total)
adjust: 3.0ms (0.7% of total)
Bogosity

explain91.0ms (4.8%)

Memory
27.2MiB live, 173.1MiB allocated; 8ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1180-3(-8.48663590651789e+151 -5.8523679264479145e-161 3.5107114122846766e-208)(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))
110-0-(-.f64 (*.f64 y y) (*.f64 z z))
00-0-(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
00-0-y
00-0-(*.f64 z z)
00-0-(*.f64 y y)
00-0-z
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))oflow-rescue1030
(*.f64 y y)overflow103
(-.f64 (*.f64 y y) (*.f64 z z))overflow103
(*.f64 z z)overflow11
sqrt.f64(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))uflow-rescue120
(*.f64 y y)underflow12
(-.f64 (*.f64 y y) (*.f64 z z))underflow12
(*.f64 z z)underflow121
-.f64(-.f64 (*.f64 y y) (*.f64 z z))nan-rescue110
(*.f64 y y)overflow103
(*.f64 z z)overflow11
Confusion
Predicted +Predicted -
+773
-38138
Precision
0.6695652173913044
Recall
0.9625
Confusion?
Predicted +Predicted MaybePredicted -
+7703
-380138
Precision?
0.6695652173913044
Recall?
0.9625
Freqs
test
numberfreq
0141
1104
211
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
37.0ms512×0valid
Compiler

Compiled 82 to 28 computations (65.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-mult: 14.0ms (65.5% of total)
ival-sqrt: 4.0ms (18.7% of total)
ival-sub: 2.0ms (9.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess125.0ms (6.6%)

Memory
14.0MiB live, 111.0MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033103
1101103
2364103
3641103
41529103
53400103
65521103
77433103
0810
01310
12710
28710
322910
440710
584010
6138910
7207310
8290010
9321010
10327210
11327210
12335010
0335010
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
Outputs
(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 z y))) x)
Symmetry

(abs y)

(abs z)

(negabs x)

Compiler

Compiled 10 to 8 computations (20% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune2.0ms (0.1%)

Memory
-46.2MiB live, 0.9MiB allocated; 2ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
71.0%
(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
Compiler

Compiled 10 to 8 computations (20% saved)

series16.0ms (0.9%)

Memory
24.8MiB live, 24.8MiB allocated; 0ms collecting garbage
Counts
8 → 56
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
x
(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))
(-.f64 (*.f64 y y) (*.f64 z z))
(*.f64 y y)
y
(*.f64 z z)
z
Outputs
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x (sqrt (- (pow y 2) (pow z 2))))))
#s(approx x #s(hole binary64 x))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x (* z (sqrt -1)))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* 1/2 (/ (* x (pow y 2)) (* z (sqrt -1)))) (* x (* z (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x (* z (sqrt -1))) (* (pow y 2) (+ (* -1/8 (/ (* x (pow y 2)) (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/2 (/ x (* z (sqrt -1)))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x (* z (sqrt -1))) (* (pow y 2) (+ (* 1/2 (/ x (* z (sqrt -1)))) (* (pow y 2) (+ (* -1/8 (/ x (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/16 (/ (* x (pow y 2)) (* (pow z 5) (pow (sqrt -1) 5)))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (sqrt -1))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* 1/2 (/ (pow y 2) (* z (sqrt -1)))) (* z (sqrt -1)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* z (sqrt -1)) (* (pow y 2) (+ (* -1/8 (/ (pow y 2) (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/2 (/ 1 (* z (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* z (sqrt -1)) (* (pow y 2) (+ (* (pow y 2) (- (* 1/16 (/ (pow y 2) (* (pow z 5) (pow (sqrt -1) 5)))) (* 1/8 (/ 1 (* (pow z 3) (pow (sqrt -1) 3)))))) (* 1/2 (/ 1 (* z (sqrt -1)))))))))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (* -1 (pow z 2))))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (- (pow y 2) (pow z 2))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x y)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (* -1/2 (/ (* x (pow z 2)) (pow y 2)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (* -1/8 (/ (* x (pow z 4)) (pow y 4))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (+ (* -1/8 (/ (* x (pow z 4)) (pow y 4))) (* -1/16 (/ (* x (pow z 6)) (pow y 6)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 y))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (* -1/2 (/ (pow z 2) (pow y 2)))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (* -1/8 (/ (pow z 4) (pow y 4))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (+ (* -1/8 (/ (pow z 4) (pow y 4))) (* -1/16 (/ (pow z 6) (pow y 6)))))))))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (pow y 2)))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (* (pow y 2) (+ 1 (* -1 (/ (pow z 2) (pow y 2)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* x y))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (* -1/2 (/ (* x (pow z 2)) (pow y 2))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (* -1/8 (/ (* x (pow z 4)) (pow y 4)))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (+ (* -1/8 (/ (* x (pow z 4)) (pow y 4))) (* -1/16 (/ (* x (pow z 6)) (pow y 6))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 y)))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (* -1/2 (/ (pow z 2) (pow y 2))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (* -1/8 (/ (pow z 4) (pow y 4)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (+ (* -1/8 (/ (pow z 4) (pow y 4))) (* -1/16 (/ (pow z 6) (pow y 6))))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* -1/2 (/ (* x (pow z 2)) y)) (* x y))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x y) (* (pow z 2) (+ (* -1/2 (/ x y)) (* -1/8 (/ (* x (pow z 2)) (pow y 3))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x y) (* (pow z 2) (+ (* -1/2 (/ x y)) (* (pow z 2) (+ (* -1/8 (/ x (pow y 3))) (* -1/16 (/ (* x (pow z 2)) (pow y 5))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* -1/2 (/ (pow z 2) y)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* (pow z 2) (- (* -1/8 (/ (pow z 2) (pow y 3))) (* 1/2 (/ 1 y)))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* (pow z 2) (- (* (pow z 2) (- (* -1/16 (/ (pow z 2) (pow y 5))) (* 1/8 (/ 1 (pow y 3))))) (* 1/2 (/ 1 y)))))))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (+ (* -1 (pow z 2)) (pow y 2))))
#s(approx (* z z) #s(hole binary64 (pow z 2)))
#s(approx z #s(hole binary64 z))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (* x (pow y 6)) (* (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (pow y 6) (* (pow z 6) (pow (sqrt -1) 5)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (* (pow z 2) (- (/ (pow y 2) (pow z 2)) 1))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* x (* z (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (* x (pow y 6)) (* (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (sqrt -1)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (pow y 6) (* (pow z 6) (pow (sqrt -1) 5)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))))
Calls

9 calls:

TimeVariablePointExpression
5.0ms
x
@0
((* x (sqrt (- (* y y) (* z z)))) x (sqrt (- (* y y) (* z z))) (- (* y y) (* z z)) (* y y) y (* z z) z)
2.0ms
y
@inf
((* x (sqrt (- (* y y) (* z z)))) x (sqrt (- (* y y) (* z z))) (- (* y y) (* z z)) (* y y) y (* z z) z)
2.0ms
z
@inf
((* x (sqrt (- (* y y) (* z z)))) x (sqrt (- (* y y) (* z z))) (- (* y y) (* z z)) (* y y) y (* z z) z)
1.0ms
x
@-inf
((* x (sqrt (- (* y y) (* z z)))) x (sqrt (- (* y y) (* z z))) (- (* y y) (* z z)) (* y y) y (* z z) z)
1.0ms
y
@0
((* x (sqrt (- (* y y) (* z z)))) x (sqrt (- (* y y) (* z z))) (- (* y y) (* z z)) (* y y) y (* z z) z)

rewrite93.0ms (4.9%)

Memory
16.1MiB live, 62.5MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02711740
02781685
014561627
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
64 → 84
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
x
(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))
(-.f64 (*.f64 y y) (*.f64 z z))
(*.f64 y y)
y
(*.f64 z z)
z
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x (sqrt (- (pow y 2) (pow z 2))))))
#s(approx x #s(hole binary64 x))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x (* z (sqrt -1)))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* 1/2 (/ (* x (pow y 2)) (* z (sqrt -1)))) (* x (* z (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x (* z (sqrt -1))) (* (pow y 2) (+ (* -1/8 (/ (* x (pow y 2)) (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/2 (/ x (* z (sqrt -1)))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x (* z (sqrt -1))) (* (pow y 2) (+ (* 1/2 (/ x (* z (sqrt -1)))) (* (pow y 2) (+ (* -1/8 (/ x (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/16 (/ (* x (pow y 2)) (* (pow z 5) (pow (sqrt -1) 5)))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (sqrt -1))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* 1/2 (/ (pow y 2) (* z (sqrt -1)))) (* z (sqrt -1)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* z (sqrt -1)) (* (pow y 2) (+ (* -1/8 (/ (pow y 2) (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/2 (/ 1 (* z (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* z (sqrt -1)) (* (pow y 2) (+ (* (pow y 2) (- (* 1/16 (/ (pow y 2) (* (pow z 5) (pow (sqrt -1) 5)))) (* 1/8 (/ 1 (* (pow z 3) (pow (sqrt -1) 3)))))) (* 1/2 (/ 1 (* z (sqrt -1)))))))))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (* -1 (pow z 2))))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (- (pow y 2) (pow z 2))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x y)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (* -1/2 (/ (* x (pow z 2)) (pow y 2)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (* -1/8 (/ (* x (pow z 4)) (pow y 4))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (+ (* -1/8 (/ (* x (pow z 4)) (pow y 4))) (* -1/16 (/ (* x (pow z 6)) (pow y 6)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 y))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (* -1/2 (/ (pow z 2) (pow y 2)))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (* -1/8 (/ (pow z 4) (pow y 4))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (+ (* -1/8 (/ (pow z 4) (pow y 4))) (* -1/16 (/ (pow z 6) (pow y 6)))))))))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (pow y 2)))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (* (pow y 2) (+ 1 (* -1 (/ (pow z 2) (pow y 2)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* x y))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (* -1/2 (/ (* x (pow z 2)) (pow y 2))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (* -1/8 (/ (* x (pow z 4)) (pow y 4)))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (+ (* -1/8 (/ (* x (pow z 4)) (pow y 4))) (* -1/16 (/ (* x (pow z 6)) (pow y 6))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 y)))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (* -1/2 (/ (pow z 2) (pow y 2))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (* -1/8 (/ (pow z 4) (pow y 4)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (+ (* -1/8 (/ (pow z 4) (pow y 4))) (* -1/16 (/ (pow z 6) (pow y 6))))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* -1/2 (/ (* x (pow z 2)) y)) (* x y))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x y) (* (pow z 2) (+ (* -1/2 (/ x y)) (* -1/8 (/ (* x (pow z 2)) (pow y 3))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x y) (* (pow z 2) (+ (* -1/2 (/ x y)) (* (pow z 2) (+ (* -1/8 (/ x (pow y 3))) (* -1/16 (/ (* x (pow z 2)) (pow y 5))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* -1/2 (/ (pow z 2) y)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* (pow z 2) (- (* -1/8 (/ (pow z 2) (pow y 3))) (* 1/2 (/ 1 y)))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* (pow z 2) (- (* (pow z 2) (- (* -1/16 (/ (pow z 2) (pow y 5))) (* 1/8 (/ 1 (pow y 3))))) (* 1/2 (/ 1 y)))))))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (+ (* -1 (pow z 2)) (pow y 2))))
#s(approx (* z z) #s(hole binary64 (pow z 2)))
#s(approx z #s(hole binary64 z))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (* x (pow y 6)) (* (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (pow y 6) (* (pow z 6) (pow (sqrt -1) 5)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))))
#s(approx (- (* y y) (* z z)) #s(hole binary64 (* (pow z 2) (- (/ (pow y 2) (pow z 2)) 1))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* x (* z (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (* x (pow y 6)) (* (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (sqrt -1)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (pow y 6) (* (pow z 6) (pow (sqrt -1) 5)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))))
Outputs
(*.f64 (sqrt.f64 (*.f64 (+.f64 y z) (-.f64 y z))) x)
(*.f64 x (sqrt.f64 (*.f64 (+.f64 y z) (-.f64 y z))))
x
(pow.f64 (*.f64 (+.f64 y z) (-.f64 y z)) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (+.f64 y z) (-.f64 y z)))
(*.f64 (+.f64 y z) (-.f64 y z))
(/.f64 (-.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 z #s(literal 4 binary64))) (fma.f64 y y (*.f64 z z)))
(/.f64 (-.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) (pow.f64 (*.f64 z z) #s(literal 3 binary64))) (+.f64 (pow.f64 y #s(literal 4 binary64)) (+.f64 (pow.f64 z #s(literal 4 binary64)) (*.f64 (*.f64 y y) (*.f64 z z)))))
(fma.f64 (pow.f64 y #s(literal 1 binary64)) (pow.f64 y #s(literal 1 binary64)) (*.f64 (neg.f64 z) z))
(fma.f64 (neg.f64 y) (neg.f64 y) (*.f64 (neg.f64 z) z))
(fma.f64 (fabs.f64 y) (fabs.f64 y) (*.f64 (neg.f64 z) z))
(fma.f64 y y (*.f64 (neg.f64 z) z))
(-.f64 (*.f64 y y) (*.f64 z z))
(+.f64 (*.f64 y y) (*.f64 (neg.f64 z) z))
(*.f64 (pow.f64 y #s(literal 1 binary64)) (pow.f64 y #s(literal 1 binary64)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 y y)
(pow.f64 y #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
y
(*.f64 (pow.f64 z #s(literal 1 binary64)) (pow.f64 z #s(literal 1 binary64)))
(*.f64 (neg.f64 z) (neg.f64 z))
(*.f64 (fabs.f64 z) (fabs.f64 z))
(*.f64 z z)
(pow.f64 z #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 z) #s(literal 2 binary64)))
z
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (sqrt.f64 (*.f64 (+.f64 y z) (-.f64 y z))) x))
#s(approx x x)
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) x))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (*.f64 x z) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 y y) x)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (*.f64 x z) (sqrt.f64 #s(literal -1 binary64)) (*.f64 (fma.f64 (/.f64 x (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)) #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 y y) x)) (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 3 binary64)))) (*.f64 y y))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (*.f64 x z) (sqrt.f64 #s(literal -1 binary64)) (*.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 5 binary64))) #s(literal 1/16 binary64) (*.f64 (/.f64 x (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 3 binary64))) #s(literal -1/8 binary64))) (*.f64 y y) (*.f64 (/.f64 x (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)) #s(literal 1/2 binary64))) (*.f64 y y))))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (/.f64 (/.f64 (*.f64 y y) z) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (fma.f64 (/.f64 (*.f64 y y) (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z))) (*.f64 y y) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 y y)) (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 3 binary64)))) (*.f64 y y) (/.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z))) (*.f64 y y) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)))
#s(approx (- (* y y) (* z z)) (neg.f64 (*.f64 z z)))
#s(approx (- (* y y) (* z z)) (*.f64 (+.f64 y z) (-.f64 y z)))
#s(approx (* y y) (*.f64 y y))
#s(approx y y)
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 y x))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) x) y))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) x) (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (pow.f64 z #s(literal 4 binary64)) x)) (pow.f64 y #s(literal 4 binary64)))) y))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) (fma.f64 (/.f64 (*.f64 (pow.f64 z #s(literal 6 binary64)) x) (pow.f64 y #s(literal 6 binary64))) #s(literal -1/16 binary64) (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (pow.f64 z #s(literal 4 binary64)) x)) (pow.f64 y #s(literal 4 binary64))))) x) y))
#s(approx (sqrt (- (* y y) (* z z))) y)
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) #s(literal 1 binary64)) y))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) #s(literal 1 binary64)) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 z #s(literal 4 binary64))) (pow.f64 y #s(literal 4 binary64)))) y))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) (fma.f64 (/.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) #s(literal -1/16 binary64) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 z #s(literal 4 binary64))) (pow.f64 y #s(literal 4 binary64))))) #s(literal 1 binary64)) y))
#s(approx (- (* y y) (* z z)) (*.f64 y y))
#s(approx (- (* y y) (* z z)) (*.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1 binary64) #s(literal 1 binary64)) (*.f64 y y)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (neg.f64 (*.f64 y x)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (neg.f64 y) (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) x)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (neg.f64 y) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) x) (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (pow.f64 z #s(literal 4 binary64)) x)) (pow.f64 y #s(literal 4 binary64))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (neg.f64 y) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) (fma.f64 (/.f64 (*.f64 (pow.f64 z #s(literal 6 binary64)) x) (pow.f64 y #s(literal 6 binary64))) #s(literal -1/16 binary64) (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (pow.f64 z #s(literal 4 binary64)) x)) (pow.f64 y #s(literal 4 binary64))))) x)))
#s(approx (sqrt (- (* y y) (* z z))) (neg.f64 y))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (neg.f64 y) (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (neg.f64 y) (+.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) #s(literal 1 binary64)) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 z #s(literal 4 binary64))) (pow.f64 y #s(literal 4 binary64))))))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (neg.f64 y) (+.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) (fma.f64 (/.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) #s(literal -1/16 binary64) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 z #s(literal 4 binary64))) (pow.f64 y #s(literal 4 binary64))))) #s(literal 1 binary64))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) y) #s(literal -1/2 binary64) (*.f64 y x)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (pow.f64 y #s(literal 3 binary64))) #s(literal -1/8 binary64) (*.f64 (/.f64 x y) #s(literal -1/2 binary64))) (*.f64 z z) (*.f64 y x)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (pow.f64 y #s(literal 5 binary64))) #s(literal -1/16 binary64) (*.f64 (/.f64 x (pow.f64 y #s(literal 3 binary64))) #s(literal -1/8 binary64))) (*.f64 z z) (*.f64 (/.f64 x y) #s(literal -1/2 binary64))) (*.f64 z z) (*.f64 y x)))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (/.f64 (*.f64 z z) y) #s(literal -1/2 binary64) y))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 z z)) (pow.f64 y #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) y)) (*.f64 z z) y))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (-.f64 (*.f64 (fma.f64 (/.f64 (*.f64 z z) (pow.f64 y #s(literal 5 binary64))) #s(literal -1/16 binary64) (*.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal -3 binary64)))) (*.f64 z z)) (/.f64 #s(literal 1/2 binary64) y)) (*.f64 z z) y))
#s(approx (- (* y y) (* z z)) (fma.f64 y y (neg.f64 (*.f64 z z))))
#s(approx (* z z) (*.f64 z z))
#s(approx z z)
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x)) z))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 4 binary64)) x) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x))) z))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 4 binary64)) x) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 6 binary64)) x) (*.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 5/2 binary64)))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x)))) z))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (fma.f64 (/.f64 (*.f64 y y) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) z))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y y)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z)))) (sqrt.f64 #s(literal -1 binary64))) z))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (pow.f64 y #s(literal 6 binary64)) (*.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 5/2 binary64)))) #s(literal 1/16 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y y)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))))) (sqrt.f64 #s(literal -1 binary64))) z))
#s(approx (- (* y y) (* z z)) (*.f64 (-.f64 (/.f64 (*.f64 y y) (*.f64 z z)) #s(literal 1 binary64)) (*.f64 z z)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) x)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x)) z)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 4 binary64)) x) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x))) z)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 4 binary64)) x) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 6 binary64)) x) (*.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 5/2 binary64)))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x)))) z)))
#s(approx (sqrt (- (* y y) (* z z))) (neg.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)))
#s(approx (sqrt (- (* y y) (* z z))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 y y) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) z)))
#s(approx (sqrt (- (* y y) (* z z))) (neg.f64 (*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y y)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z)))) (sqrt.f64 #s(literal -1 binary64))) z)))
#s(approx (sqrt (- (* y y) (* z z))) (neg.f64 (*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (pow.f64 y #s(literal 6 binary64)) (*.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 5/2 binary64)))) #s(literal 1/16 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y y)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))))) (sqrt.f64 #s(literal -1 binary64))) z)))

eval33.0ms (1.8%)

Memory
-30.0MiB live, 17.0MiB allocated; 2ms collecting garbage
Compiler

Compiled 2 077 to 382 computations (81.6% saved)

prune30.0ms (1.6%)

Memory
-16.9MiB live, 39.6MiB allocated; 9ms collecting garbage
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New87188
Fresh000
Picked101
Done000
Total88189
Accuracy
99.7%
Counts
89 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(*.f64 x #s(approx (sqrt (- (* y y) (* z z))) y))
Compiler

Compiled 12 to 9 computations (25% saved)

series9.0ms (0.5%)

Memory
12.7MiB live, 12.7MiB allocated; 0ms collecting garbage
Counts
4 → 47
Calls
Call 1
Inputs
(*.f64 x #s(approx (sqrt (- (* y y) (* z z))) y))
x
#s(approx (sqrt (- (* y y) (* z z))) y)
y
Outputs
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x (sqrt (- (pow y 2) (pow z 2))))))
#s(approx x #s(hole binary64 x))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x (* z (sqrt -1)))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* 1/2 (/ (* x (pow y 2)) (* z (sqrt -1)))) (* x (* z (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x (* z (sqrt -1))) (* (pow y 2) (+ (* -1/8 (/ (* x (pow y 2)) (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/2 (/ x (* z (sqrt -1)))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x (* z (sqrt -1))) (* (pow y 2) (+ (* 1/2 (/ x (* z (sqrt -1)))) (* (pow y 2) (+ (* -1/8 (/ x (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/16 (/ (* x (pow y 2)) (* (pow z 5) (pow (sqrt -1) 5)))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (sqrt -1))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* 1/2 (/ (pow y 2) (* z (sqrt -1)))) (* z (sqrt -1)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* z (sqrt -1)) (* (pow y 2) (+ (* -1/8 (/ (pow y 2) (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/2 (/ 1 (* z (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* z (sqrt -1)) (* (pow y 2) (+ (* (pow y 2) (- (* 1/16 (/ (pow y 2) (* (pow z 5) (pow (sqrt -1) 5)))) (* 1/8 (/ 1 (* (pow z 3) (pow (sqrt -1) 3)))))) (* 1/2 (/ 1 (* z (sqrt -1)))))))))
#s(approx y #s(hole binary64 y))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x y)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (* -1/2 (/ (* x (pow z 2)) (pow y 2)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (* -1/8 (/ (* x (pow z 4)) (pow y 4))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (+ (* -1/8 (/ (* x (pow z 4)) (pow y 4))) (* -1/16 (/ (* x (pow z 6)) (pow y 6)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 y))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (* -1/2 (/ (pow z 2) (pow y 2)))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (* -1/8 (/ (pow z 4) (pow y 4))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (+ (* -1/8 (/ (pow z 4) (pow y 4))) (* -1/16 (/ (pow z 6) (pow y 6)))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* x y))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (* -1/2 (/ (* x (pow z 2)) (pow y 2))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (* -1/8 (/ (* x (pow z 4)) (pow y 4)))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (+ (* -1/8 (/ (* x (pow z 4)) (pow y 4))) (* -1/16 (/ (* x (pow z 6)) (pow y 6))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 y)))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (* -1/2 (/ (pow z 2) (pow y 2))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (* -1/8 (/ (pow z 4) (pow y 4)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (+ (* -1/8 (/ (pow z 4) (pow y 4))) (* -1/16 (/ (pow z 6) (pow y 6))))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* -1/2 (/ (* x (pow z 2)) y)) (* x y))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x y) (* (pow z 2) (+ (* -1/2 (/ x y)) (* -1/8 (/ (* x (pow z 2)) (pow y 3))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x y) (* (pow z 2) (+ (* -1/2 (/ x y)) (* (pow z 2) (+ (* -1/8 (/ x (pow y 3))) (* -1/16 (/ (* x (pow z 2)) (pow y 5))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* -1/2 (/ (pow z 2) y)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* (pow z 2) (- (* -1/8 (/ (pow z 2) (pow y 3))) (* 1/2 (/ 1 y)))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* (pow z 2) (- (* (pow z 2) (- (* -1/16 (/ (pow z 2) (pow y 5))) (* 1/8 (/ 1 (pow y 3))))) (* 1/2 (/ 1 y)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (* x (pow y 6)) (* (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (pow y 6) (* (pow z 6) (pow (sqrt -1) 5)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* x (* z (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (* x (pow y 6)) (* (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (sqrt -1)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (pow y 6) (* (pow z 6) (pow (sqrt -1) 5)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))))
Calls

9 calls:

TimeVariablePointExpression
5.0ms
x
@0
((* x (sqrt (- (* y y) (* z z)))) x (sqrt (- (* y y) (* z z))) y)
1.0ms
x
@-inf
((* x (sqrt (- (* y y) (* z z)))) x (sqrt (- (* y y) (* z z))) y)
1.0ms
x
@inf
((* x (sqrt (- (* y y) (* z z)))) x (sqrt (- (* y y) (* z z))) y)
0.0ms
y
@-inf
((* x (sqrt (- (* y y) (* z z)))) x (sqrt (- (* y y) (* z z))) y)
0.0ms
y
@inf
((* x (sqrt (- (* y y) (* z z)))) x (sqrt (- (* y y) (* z z))) y)

rewrite55.0ms (2.9%)

Memory
29.4MiB live, 76.4MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02501613
02511561
013711504
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
51 → 52
Calls
Call 1
Inputs
(*.f64 x #s(approx (sqrt (- (* y y) (* z z))) y))
x
#s(approx (sqrt (- (* y y) (* z z))) y)
y
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x (sqrt (- (pow y 2) (pow z 2))))))
#s(approx x #s(hole binary64 x))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x (* z (sqrt -1)))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* 1/2 (/ (* x (pow y 2)) (* z (sqrt -1)))) (* x (* z (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x (* z (sqrt -1))) (* (pow y 2) (+ (* -1/8 (/ (* x (pow y 2)) (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/2 (/ x (* z (sqrt -1)))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x (* z (sqrt -1))) (* (pow y 2) (+ (* 1/2 (/ x (* z (sqrt -1)))) (* (pow y 2) (+ (* -1/8 (/ x (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/16 (/ (* x (pow y 2)) (* (pow z 5) (pow (sqrt -1) 5)))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (sqrt -1))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* 1/2 (/ (pow y 2) (* z (sqrt -1)))) (* z (sqrt -1)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* z (sqrt -1)) (* (pow y 2) (+ (* -1/8 (/ (pow y 2) (* (pow z 3) (pow (sqrt -1) 3)))) (* 1/2 (/ 1 (* z (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ (* z (sqrt -1)) (* (pow y 2) (+ (* (pow y 2) (- (* 1/16 (/ (pow y 2) (* (pow z 5) (pow (sqrt -1) 5)))) (* 1/8 (/ 1 (* (pow z 3) (pow (sqrt -1) 3)))))) (* 1/2 (/ 1 (* z (sqrt -1)))))))))
#s(approx y #s(hole binary64 y))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* x y)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (* -1/2 (/ (* x (pow z 2)) (pow y 2)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (* -1/8 (/ (* x (pow z 4)) (pow y 4))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (+ (* -1/8 (/ (* x (pow z 4)) (pow y 4))) (* -1/16 (/ (* x (pow z 6)) (pow y 6)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 y))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (* -1/2 (/ (pow z 2) (pow y 2)))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (* -1/8 (/ (pow z 4) (pow y 4))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (+ (* -1/8 (/ (pow z 4) (pow y 4))) (* -1/16 (/ (pow z 6) (pow y 6)))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* x y))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (* -1/2 (/ (* x (pow z 2)) (pow y 2))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (* -1/8 (/ (* x (pow z 4)) (pow y 4)))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* y (+ x (+ (* -1/2 (/ (* x (pow z 2)) (pow y 2))) (+ (* -1/8 (/ (* x (pow z 4)) (pow y 4))) (* -1/16 (/ (* x (pow z 6)) (pow y 6))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 y)))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (* -1/2 (/ (pow z 2) (pow y 2))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (* -1/8 (/ (pow z 4) (pow y 4)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1/2 (/ (pow z 2) (pow y 2))) (+ (* -1/8 (/ (pow z 4) (pow y 4))) (* -1/16 (/ (pow z 6) (pow y 6))))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* -1/2 (/ (* x (pow z 2)) y)) (* x y))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x y) (* (pow z 2) (+ (* -1/2 (/ x y)) (* -1/8 (/ (* x (pow z 2)) (pow y 3))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (+ (* x y) (* (pow z 2) (+ (* -1/2 (/ x y)) (* (pow z 2) (+ (* -1/8 (/ x (pow y 3))) (* -1/16 (/ (* x (pow z 2)) (pow y 5))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* -1/2 (/ (pow z 2) y)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* (pow z 2) (- (* -1/8 (/ (pow z 2) (pow y 3))) (* 1/2 (/ 1 y)))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (+ y (* (pow z 2) (- (* (pow z 2) (- (* -1/16 (/ (pow z 2) (pow y 5))) (* 1/8 (/ 1 (pow y 3))))) (* 1/2 (/ 1 y)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (* x (pow y 6)) (* (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (pow y 6) (* (pow z 6) (pow (sqrt -1) 5)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* x (* z (sqrt -1))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1))))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) #s(hole binary64 (* -1 (* z (+ (* -1/8 (/ (* x (pow y 4)) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (* x (pow y 6)) (* (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (/ (* x (pow y 2)) (* (pow z 2) (sqrt -1)))) (* x (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (sqrt -1)))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1))))))))))
#s(approx (sqrt (- (* y y) (* z z))) #s(hole binary64 (* -1 (* z (+ (sqrt -1) (+ (* -1/8 (/ (pow y 4) (* (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (/ (pow y 6) (* (pow z 6) (pow (sqrt -1) 5)))) (* 1/2 (/ (pow y 2) (* (pow z 2) (sqrt -1)))))))))))
Outputs
(*.f64 #s(approx (sqrt (- (* y y) (* z z))) y) x)
(*.f64 x #s(approx (sqrt (- (* y y) (* z z))) y))
x
#s(approx (sqrt (- (* y y) (* z z))) y)
y
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (sqrt.f64 (*.f64 (+.f64 y z) (-.f64 y z))) x))
#s(approx x x)
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) x))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (*.f64 x z) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 y y) x)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (*.f64 x z) (sqrt.f64 #s(literal -1 binary64)) (*.f64 (fma.f64 (/.f64 x (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)) #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 y y) x)) (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 3 binary64)))) (*.f64 y y))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (*.f64 x z) (sqrt.f64 #s(literal -1 binary64)) (*.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 5 binary64))) #s(literal 1/16 binary64) (*.f64 (/.f64 x (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 3 binary64))) #s(literal -1/8 binary64))) (*.f64 y y) (*.f64 (/.f64 x (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)) #s(literal 1/2 binary64))) (*.f64 y y))))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (/.f64 (/.f64 (*.f64 y y) z) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (fma.f64 (/.f64 (*.f64 y y) (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z))) (*.f64 y y) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 y y)) (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) #s(literal 3 binary64)))) (*.f64 y y) (/.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z))) (*.f64 y y) (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)))
#s(approx y y)
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 y x))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) x) y))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) x) (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (pow.f64 z #s(literal 4 binary64)) x)) (pow.f64 y #s(literal 4 binary64)))) y))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) (fma.f64 (/.f64 (*.f64 (pow.f64 z #s(literal 6 binary64)) x) (pow.f64 y #s(literal 6 binary64))) #s(literal -1/16 binary64) (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (pow.f64 z #s(literal 4 binary64)) x)) (pow.f64 y #s(literal 4 binary64))))) x) y))
#s(approx (sqrt (- (* y y) (* z z))) y)
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) #s(literal 1 binary64)) y))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) #s(literal 1 binary64)) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 z #s(literal 4 binary64))) (pow.f64 y #s(literal 4 binary64)))) y))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) (fma.f64 (/.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) #s(literal -1/16 binary64) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 z #s(literal 4 binary64))) (pow.f64 y #s(literal 4 binary64))))) #s(literal 1 binary64)) y))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (neg.f64 (*.f64 y x)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (neg.f64 y) (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) x)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (neg.f64 y) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) x) (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (pow.f64 z #s(literal 4 binary64)) x)) (pow.f64 y #s(literal 4 binary64))))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (neg.f64 y) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (*.f64 y y)) #s(literal -1/2 binary64) (fma.f64 (/.f64 (*.f64 (pow.f64 z #s(literal 6 binary64)) x) (pow.f64 y #s(literal 6 binary64))) #s(literal -1/16 binary64) (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (pow.f64 z #s(literal 4 binary64)) x)) (pow.f64 y #s(literal 4 binary64))))) x)))
#s(approx (sqrt (- (* y y) (* z z))) (neg.f64 y))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (neg.f64 y) (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (neg.f64 y) (+.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) #s(literal 1 binary64)) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 z #s(literal 4 binary64))) (pow.f64 y #s(literal 4 binary64))))))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (neg.f64 y) (+.f64 (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) #s(literal -1/2 binary64) (fma.f64 (/.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) #s(literal -1/16 binary64) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 z #s(literal 4 binary64))) (pow.f64 y #s(literal 4 binary64))))) #s(literal 1 binary64))))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) y) #s(literal -1/2 binary64) (*.f64 y x)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (pow.f64 y #s(literal 3 binary64))) #s(literal -1/8 binary64) (*.f64 (/.f64 x y) #s(literal -1/2 binary64))) (*.f64 z z) (*.f64 y x)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 z z) x) (pow.f64 y #s(literal 5 binary64))) #s(literal -1/16 binary64) (*.f64 (/.f64 x (pow.f64 y #s(literal 3 binary64))) #s(literal -1/8 binary64))) (*.f64 z z) (*.f64 (/.f64 x y) #s(literal -1/2 binary64))) (*.f64 z z) (*.f64 y x)))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (/.f64 (*.f64 z z) y) #s(literal -1/2 binary64) y))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 z z)) (pow.f64 y #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) y)) (*.f64 z z) y))
#s(approx (sqrt (- (* y y) (* z z))) (fma.f64 (-.f64 (*.f64 (fma.f64 (/.f64 (*.f64 z z) (pow.f64 y #s(literal 5 binary64))) #s(literal -1/16 binary64) (*.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal -3 binary64)))) (*.f64 z z)) (/.f64 #s(literal 1/2 binary64) y)) (*.f64 z z) y))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x)) z))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 4 binary64)) x) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x))) z))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 4 binary64)) x) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 6 binary64)) x) (*.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 5/2 binary64)))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x)))) z))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (fma.f64 (/.f64 (*.f64 y y) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) z))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y y)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z)))) (sqrt.f64 #s(literal -1 binary64))) z))
#s(approx (sqrt (- (* y y) (* z z))) (*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (pow.f64 y #s(literal 6 binary64)) (*.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 5/2 binary64)))) #s(literal 1/16 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y y)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))))) (sqrt.f64 #s(literal -1 binary64))) z))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z) x)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x)) z)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 4 binary64)) x) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x))) z)))
#s(approx (* x (sqrt (- (* y y) (* z z)))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 4 binary64)) x) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 (pow.f64 y #s(literal 6 binary64)) x) (*.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 5/2 binary64)))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) x)))) z)))
#s(approx (sqrt (- (* y y) (* z z))) (neg.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) z)))
#s(approx (sqrt (- (* y y) (* z z))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 y y) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))) #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) z)))
#s(approx (sqrt (- (* y y) (* z z))) (neg.f64 (*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y y)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z)))) (sqrt.f64 #s(literal -1 binary64))) z)))
#s(approx (sqrt (- (* y y) (* z z))) (neg.f64 (*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (pow.f64 z #s(literal 4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (pow.f64 y #s(literal 6 binary64)) (*.f64 (pow.f64 z #s(literal 6 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 5/2 binary64)))) #s(literal 1/16 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y y)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 z z))))) (sqrt.f64 #s(literal -1 binary64))) z)))

eval10.0ms (0.5%)

Memory
-37.2MiB live, 9.4MiB allocated; 2ms collecting garbage
Compiler

Compiled 1 594 to 249 computations (84.4% saved)

prune7.0ms (0.3%)

Memory
15.0MiB live, 15.0MiB allocated; 0ms collecting garbage
Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New51051
Fresh000
Picked011
Done000
Total51152
Accuracy
99.7%
Counts
52 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(*.f64 x #s(approx (sqrt (- (* y y) (* z z))) y))
Compiler

Compiled 34 to 23 computations (32.4% saved)

regimes10.0ms (0.5%)

Memory
27.3MiB live, 27.3MiB allocated; 0ms collecting garbage
Accuracy

Total -18.4b remaining (-9884.1%)

Threshold costs -18.4b (-9884.1%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 x #s(approx (sqrt (- (* y y) (* z z))) y))
(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
Outputs
(*.f64 x #s(approx (sqrt (- (* y y) (* z z))) y))
Calls

8 calls:

1.0ms
(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))
1.0ms
z
1.0ms
x
1.0ms
y
1.0ms
(-.f64 (*.f64 y y) (*.f64 z z))
Results
AccuracySegmentsBranch
99.7%1(*.f64 z z)
99.7%1(*.f64 y y)
99.7%1(-.f64 (*.f64 y y) (*.f64 z z))
99.7%1(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))
99.7%1(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
99.7%1x
99.7%1y
99.7%1z
Compiler

Compiled 34 to 38 computations (-11.8% saved)

simplify60.0ms (3.2%)

Memory
-37.9MiB live, 58.7MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
12212
28212
322412
440412
584112
6139012
7207412
8290112
9321112
10327312
11327312
12335112
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 x #s(approx (sqrt (- (* y y) (* z z))) y))
Outputs
(*.f64 x #s(approx (sqrt (- (* y y) (* z z))) y))

derivations3.0ms (0.2%)

Memory
3.8MiB live, 3.8MiB allocated; 0ms collecting garbage
Stop Event
done
Compiler

Compiled 12 to 9 computations (25% saved)

preprocess26.0ms (1.4%)

Memory
15.7MiB live, 59.7MiB allocated; 7ms collecting garbage
Remove

(negabs x)

(abs z)

Compiler

Compiled 140 to 106 computations (24.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...