FastMath dist

Time bar (total: 1.7s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample887.0ms (53.7%)

Memory
-32.3MiB live, 1 235.0MiB allocated; 296ms collecting garbage
Samples
533.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 313.0ms
ival-mult: 261.0ms (83.4% of total)
ival-add: 47.0ms (15% of total)
ival-assert: 3.0ms (1% of total)
adjust: 2.0ms (0.6% of total)
Bogosity

explain78.0ms (4.7%)

Memory
-8.4MiB live, 84.4MiB allocated; 8ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
20-0-(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
00-0-d2
00-0-d1
00-0-d3
00-0-(*.f64 d1 d2)
00-0-(*.f64 d1 d3)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))nan-rescue20
(*.f64 d1 d2)overflow30
(*.f64 d1 d3)overflow36
Confusion
Predicted +Predicted -
+20
-0254
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+200
-00254
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0254
12
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
25.0ms512×0valid
Compiler

Compiled 43 to 22 computations (48.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 7.0ms (66.9% of total)
ival-add: 2.0ms (19.1% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess37.0ms (2.2%)

Memory
-18.9MiB live, 37.6MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02655
17855
219651
334751
444051
554751
660051
764051
865051
067
095
1175
2335
3565
4915
51145
61515
71705
81805
91855
01855
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Outputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 (+.f64 d3 d2) d1)
Symmetry

(negabs d1)

(sort d2 d3)

Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

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

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.2%
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Compiler

Compiled 7 to 6 computations (14.3% saved)

series8.0ms (0.5%)

Memory
8.0MiB live, 8.0MiB allocated; 0ms collecting garbage
Counts
6 → 14
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 d2)
d1
d2
(*.f64 d1 d3)
d3
Outputs
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 (+ d2 d3))))
#s(approx (* d1 d2) #s(hole binary64 (* d1 d2)))
#s(approx d1 #s(hole binary64 d1))
#s(approx (* d1 d3) #s(hole binary64 (* d1 d3)))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d1 (+ (* -1 d2) (* -1 d3))))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 d3)))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (+ (* d1 d2) (* d1 d3))))
#s(approx d2 #s(hole binary64 d2))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 d2)))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d3) d2)))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d3 (+ d1 (/ (* d1 d2) d3)))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
d1
@-inf
((+ (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3)
1.0ms
d1
@inf
((+ (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3)
1.0ms
d3
@0
((+ (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3)
1.0ms
d1
@0
((+ (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3)
1.0ms
d2
@-inf
((+ (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3)

rewrite222.0ms (13.5%)

Memory
16.8MiB live, 208.5MiB allocated; 32ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046188
048151
1220150
21703150
08708146
Stop Event
iter limit
node limit
iter limit
Counts
20 → 82
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 d2)
d1
d2
(*.f64 d1 d3)
d3
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 (+ d2 d3))))
#s(approx (* d1 d2) #s(hole binary64 (* d1 d2)))
#s(approx d1 #s(hole binary64 d1))
#s(approx (* d1 d3) #s(hole binary64 (* d1 d3)))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d1 (+ (* -1 d2) (* -1 d3))))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 d3)))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (+ (* d1 d2) (* d1 d3))))
#s(approx d2 #s(hole binary64 d2))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 d2)))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d3) d2)))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d3 (+ d1 (/ (* d1 d2) d3)))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))))
Outputs
(*.f64 (/.f64 (*.f64 (+.f64 d3 d2) d1) d1) (/.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 d2 d3)))
(*.f64 (+.f64 d3 d2) d1)
(*.f64 d1 (+.f64 d3 d2))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3)))) (*.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))))) (+.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3)))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))))) (*.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))) (-.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 (*.f64 d3 d1) (*.f64 (neg.f64 d1) d2)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (fma.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (*.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))))) (*.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))))))))
(/.f64 (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (neg.f64 d1)) d3) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 (*.f64 d2 d1) (*.f64 (neg.f64 (neg.f64 d1)) d3)))))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64))) d1)) (neg.f64 (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2))))
(/.f64 (neg.f64 (*.f64 d1 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64))))) (neg.f64 (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 d3 d1) (*.f64 d2 d1))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (*.f64 d1 (-.f64 d2 d3)))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3))))))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 d3 d2) (-.f64 d2 d3)) d1)) (neg.f64 (-.f64 d2 d3)))
(/.f64 (neg.f64 (*.f64 d1 (*.f64 (+.f64 d3 d2) (-.f64 d2 d3)))) (neg.f64 (-.f64 d2 d3)))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (*.f64 (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))) (*.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d2 d3))))
(/.f64 (fma.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 d3 d2) (-.f64 d2 d3)) d1) (-.f64 d2 d3))
(/.f64 (*.f64 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64))) d1) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d2) (-.f64 d2 d3))) (-.f64 d2 d3))
(/.f64 (*.f64 d1 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64)))) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2)))
(/.f64 (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (fma.f64 d3 d1 (*.f64 (neg.f64 d1) d2)))
(/.f64 (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)))
(/.f64 (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))) (neg.f64 (*.f64 d1 (-.f64 d2 d3))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 d2 d1) d3) d1)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))) (-.f64 (*.f64 d2 d1) (*.f64 (neg.f64 (neg.f64 d1)) d3)))
(/.f64 (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))) (*.f64 d1 (-.f64 d2 d3)))
(/.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 d2 d1) d3) d1))))
(/.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64))) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))))
(fma.f64 (/.f64 (*.f64 (*.f64 d2 d1) d2) d1) (/.f64 d1 (-.f64 d2 d3)) (/.f64 (*.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d3 d1)) (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 (/.f64 (*.f64 (*.f64 d2 d1) d1) d1) (/.f64 d2 (-.f64 d2 d3)) (/.f64 (*.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d3 d1)) (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 (/.f64 (fabs.f64 (*.f64 d2 d1)) d1) (/.f64 (fabs.f64 (*.f64 d2 d1)) (-.f64 d2 d3)) (/.f64 (*.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d3 d1)) (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 (/.f64 (*.f64 (neg.f64 d1) d2) d1) (/.f64 (*.f64 (neg.f64 d1) d2) (-.f64 d2 d3)) (/.f64 (*.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d3 d1)) (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 (/.f64 (*.f64 d1 d1) d1) (/.f64 (*.f64 d2 d2) (-.f64 d2 d3)) (/.f64 (*.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d3 d1)) (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 (/.f64 (*.f64 d2 d2) d1) (/.f64 (*.f64 d1 d1) (-.f64 d2 d3)) (/.f64 (*.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d3 d1)) (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 (/.f64 (*.f64 d2 d1) d1) (/.f64 (*.f64 d2 d1) (-.f64 d2 d3)) (/.f64 (*.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d3 d1)) (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 (/.f64 d2 d1) (/.f64 (*.f64 d1 (*.f64 d2 d1)) (-.f64 d2 d3)) (/.f64 (*.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d3 d1)) (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 (/.f64 d1 d1) (/.f64 (*.f64 d2 (*.f64 d2 d1)) (-.f64 d2 d3)) (/.f64 (*.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d3 d1)) (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 d3 d1 (*.f64 d2 d1))
(fma.f64 d2 d1 (*.f64 (neg.f64 (neg.f64 d1)) d3))
(fma.f64 d2 d1 (*.f64 d3 d1))
(fma.f64 d1 d3 (*.f64 d2 d1))
(fma.f64 d1 d2 (*.f64 (neg.f64 (neg.f64 d1)) d3))
(fma.f64 d1 d2 (*.f64 d3 d1))
(-.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1))))
(-.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3))))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3))))))
(-.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))))
(-.f64 (*.f64 d3 d1) (*.f64 (neg.f64 d1) d2))
(-.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3))
(+.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 d2 d1) d3) d1)))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 d2 d1) d3) d1)))))
(+.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 d2 d1) d3) d1)))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 d2 d1) d3) d1)))))
(+.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (/.f64 (*.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d3 d1)) (*.f64 d1 (-.f64 d2 d3))))
(+.f64 (*.f64 d3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d2 d1) (*.f64 (neg.f64 (neg.f64 d1)) d3))
(+.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d2 d1)
(*.f64 d1 d2)
d1
d2
(*.f64 d3 d1)
(*.f64 d1 d3)
d3
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 (+.f64 d3 d2) d1))
#s(approx (* d1 d2) (*.f64 d2 d1))
#s(approx d1 d1)
#s(approx (* d1 d3) (*.f64 d3 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 (neg.f64 d1) (-.f64 (neg.f64 d2) d3)))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 (+.f64 d3 d2) d1))
#s(approx d2 d2)
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 (fma.f64 (/.f64 d3 d2) d1 d1) d2))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 (fma.f64 (/.f64 d3 d2) d1 d1) d2))
#s(approx d3 d3)
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 (fma.f64 (/.f64 d2 d3) d1 d1) d3))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 (fma.f64 (/.f64 d2 d3) d1 d1) d3))

eval8.0ms (0.5%)

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

Compiled 2 030 to 237 computations (88.3% saved)

prune16.0ms (1%)

Memory
-38.5MiB live, 7.5MiB allocated; 5ms collecting garbage
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New77481
Fresh000
Picked101
Done000
Total78482
Accuracy
100.0%
Counts
82 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(fma.f64 d3 d1 (*.f64 d2 d1))
100.0%
(*.f64 (+.f64 d3 d2) d1)
55.1%
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
53.9%
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Compiler

Compiled 33 to 26 computations (21.2% saved)

series8.0ms (0.5%)

Memory
16.4MiB live, 16.4MiB allocated; 0ms collecting garbage
Counts
10 → 38
Calls
Call 1
Inputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
d2
d1
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
(*.f64 d3 d1)
d3
(*.f64 (+.f64 d3 d2) d1)
(+.f64 d3 d2)
(fma.f64 d3 d1 (*.f64 d2 d1))
Outputs
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 (+ d2 d3))))
#s(approx (* d2 d1) #s(hole binary64 (* d1 d2)))
#s(approx d1 #s(hole binary64 d1))
#s(approx (* d3 d1) #s(hole binary64 (* d1 d3)))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* d1 (+ d2 d3))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* d1 (+ d2 d3))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d1 (+ (* -1 d2) (* -1 d3))))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* -1 (* d1 (+ (* -1 d2) (* -1 d3))))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 d3)))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (+ (* d1 d2) (* d1 d3))))
#s(approx d2 #s(hole binary64 d2))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* d1 d3)))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (+ (* d1 d2) (* d1 d3))))
#s(approx (+ d3 d2) #s(hole binary64 d3))
#s(approx (+ d3 d2) #s(hole binary64 (+ d2 d3)))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* d1 d3)))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 d3))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 d2)))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d3) d2)))))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* d1 d2)))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d3) d2)))))
#s(approx (+ d3 d2) #s(hole binary64 d2))
#s(approx (+ d3 d2) #s(hole binary64 (* d2 (+ 1 (/ d3 d2)))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* d1 d2)))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d3) d2)))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))))
#s(approx (+ d3 d2) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ d3 d2)) 1)))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d3 (+ d1 (/ (* d1 d2) d3)))))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* d3 (+ d1 (/ (* d1 d2) d3)))))
#s(approx (+ d3 d2) #s(hole binary64 (* d3 (+ 1 (/ d2 d3)))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* d3 (+ d1 (/ (* d1 d2) d3)))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))))
#s(approx (+ d3 d2) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ d2 d3)) 1)))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
d1
@-inf
((+ (* d1 d2) (* d1 d3)) (* d2 d1) d2 d1 (+ (* d1 d2) (* d1 d3)) (* d3 d1) d3 (* (+ d3 d2) d1) (+ d3 d2) (+ (* d3 d1) (* d2 d1)))
1.0ms
d1
@inf
((+ (* d1 d2) (* d1 d3)) (* d2 d1) d2 d1 (+ (* d1 d2) (* d1 d3)) (* d3 d1) d3 (* (+ d3 d2) d1) (+ d3 d2) (+ (* d3 d1) (* d2 d1)))
1.0ms
d2
@-inf
((+ (* d1 d2) (* d1 d3)) (* d2 d1) d2 d1 (+ (* d1 d2) (* d1 d3)) (* d3 d1) d3 (* (+ d3 d2) d1) (+ d3 d2) (+ (* d3 d1) (* d2 d1)))
1.0ms
d3
@-inf
((+ (* d1 d2) (* d1 d3)) (* d2 d1) d2 d1 (+ (* d1 d2) (* d1 d3)) (* d3 d1) d3 (* (+ d3 d2) d1) (+ d3 d2) (+ (* d3 d1) (* d2 d1)))
1.0ms
d1
@0
((+ (* d1 d2) (* d1 d3)) (* d2 d1) d2 d1 (+ (* d1 d2) (* d1 d3)) (* d3 d1) d3 (* (+ d3 d2) d1) (+ d3 d2) (+ (* d3 d1) (* d2 d1)))

rewrite164.0ms (9.9%)

Memory
18.5MiB live, 256.4MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
094540
098474
1379466
22690466
08372452
Stop Event
iter limit
node limit
iter limit
Counts
48 → 145
Calls
Call 1
Inputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
d2
d1
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
(*.f64 d3 d1)
d3
(*.f64 (+.f64 d3 d2) d1)
(+.f64 d3 d2)
(fma.f64 d3 d1 (*.f64 d2 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 (+ d2 d3))))
#s(approx (* d2 d1) #s(hole binary64 (* d1 d2)))
#s(approx d1 #s(hole binary64 d1))
#s(approx (* d3 d1) #s(hole binary64 (* d1 d3)))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* d1 (+ d2 d3))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* d1 (+ d2 d3))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d1 (+ (* -1 d2) (* -1 d3))))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* -1 (* d1 (+ (* -1 d2) (* -1 d3))))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 d3)))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (+ (* d1 d2) (* d1 d3))))
#s(approx d2 #s(hole binary64 d2))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* d1 d3)))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (+ (* d1 d2) (* d1 d3))))
#s(approx (+ d3 d2) #s(hole binary64 d3))
#s(approx (+ d3 d2) #s(hole binary64 (+ d2 d3)))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* d1 d3)))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 d3))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 d2)))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d3) d2)))))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* d1 d2)))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d3) d2)))))
#s(approx (+ d3 d2) #s(hole binary64 d2))
#s(approx (+ d3 d2) #s(hole binary64 (* d2 (+ 1 (/ d3 d2)))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* d1 d2)))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d3) d2)))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))))
#s(approx (+ d3 d2) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ d3 d2)) 1)))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d3) d2)))))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* d3 (+ d1 (/ (* d1 d2) d3)))))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* d3 (+ d1 (/ (* d1 d2) d3)))))
#s(approx (+ d3 d2) #s(hole binary64 (* d3 (+ 1 (/ d2 d3)))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* d3 (+ d1 (/ (* d1 d2) d3)))))
#s(approx (+ (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))))
#s(approx (* (+ d3 d2) d1) #s(hole binary64 (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))))
#s(approx (+ d3 d2) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ d2 d3)) 1)))))
#s(approx (+ (* d3 d1) (* d2 d1)) #s(hole binary64 (* -1 (* d3 (+ (* -1 d1) (* -1 (/ (* d1 d2) d3)))))))
Outputs
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 d2 d1))
(*.f64 d2 d1)
(*.f64 d1 d2)
d2
d1
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 d3 d1))
(*.f64 d3 d1)
(*.f64 d1 d3)
d3
(*.f64 (+.f64 d3 d2) d1)
(*.f64 d1 (-.f64 d3 (neg.f64 d2)))
(*.f64 d1 (+.f64 d3 d2))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (*.f64 (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))) (*.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d2 d3))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d3 d2))) (*.f64 (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (*.f64 (*.f64 d1 (-.f64 d3 d2)) (*.f64 d1 (-.f64 d3 d2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))) (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 d3 d2) (-.f64 d3 d2)) d1) (-.f64 d3 d2))
(/.f64 (*.f64 (*.f64 (+.f64 d3 d2) (-.f64 d2 d3)) d1) (-.f64 d2 d3))
(/.f64 (*.f64 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64))) d1) (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3)))
(/.f64 (*.f64 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64))) d1) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d2) (-.f64 d3 d2))) (-.f64 d3 d2))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d2) (-.f64 d2 d3))) (-.f64 d2 d3))
(/.f64 (*.f64 d1 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64)))) (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3)))
(/.f64 (*.f64 d1 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64)))) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2)))
(/.f64 (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 (*.f64 d3 d1) (*.f64 (neg.f64 d1) d2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 d3 d2) d1) (*.f64 d1 (-.f64 d2 d3)))) (neg.f64 (*.f64 d1 (-.f64 d2 d3))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (neg.f64 (*.f64 d1 (-.f64 d3 d2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 d3 d2) d1) (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 (-.f64 d2 d3)))
(/.f64 (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (*.f64 d1 (-.f64 d3 d2)))
(/.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64))) (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64))) (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))))
(fma.f64 d3 d1 (*.f64 d2 d1))
(fma.f64 d2 d1 (*.f64 (neg.f64 (neg.f64 d1)) d3))
(fma.f64 d2 d1 (*.f64 d3 d1))
(fma.f64 d1 d3 (*.f64 d2 d1))
(fma.f64 d1 d2 (*.f64 (neg.f64 (neg.f64 d1)) d3))
(fma.f64 d1 d2 (*.f64 d3 d1))
(-.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))))
(-.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d3 d2))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d3 d2))))
(-.f64 (*.f64 d3 d1) (*.f64 (neg.f64 d1) d2))
(-.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3))
(+.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))))
(+.f64 (*.f64 d3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d2 d1) (*.f64 (neg.f64 (neg.f64 d1)) d3))
(+.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(/.f64 (-.f64 (*.f64 (*.f64 d3 d3) (-.f64 d3 d2)) (*.f64 (-.f64 d3 d2) (*.f64 d2 d2))) (*.f64 (-.f64 d3 d2) (-.f64 d3 d2)))
(/.f64 (-.f64 (*.f64 (*.f64 d2 d2) (-.f64 d2 d3)) (*.f64 (-.f64 d2 d3) (*.f64 d3 d3))) (*.f64 (-.f64 d2 d3) (-.f64 d2 d3)))
(/.f64 (fma.f64 (pow.f64 d3 #s(literal 3 binary64)) (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3)) (*.f64 (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3)) (pow.f64 d2 #s(literal 3 binary64)))) (*.f64 (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3)) (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3))))
(/.f64 (fma.f64 (pow.f64 d2 #s(literal 3 binary64)) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2)) (*.f64 (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2)) (pow.f64 d3 #s(literal 3 binary64)))) (*.f64 (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2)) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2))))
(/.f64 (neg.f64 (*.f64 (+.f64 d3 d2) (-.f64 d3 d2))) (neg.f64 (-.f64 d3 d2)))
(/.f64 (neg.f64 (*.f64 (+.f64 d3 d2) (-.f64 d2 d3))) (neg.f64 (-.f64 d2 d3)))
(/.f64 (neg.f64 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64)))) (neg.f64 (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3))))
(/.f64 (neg.f64 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64)))) (neg.f64 (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2))))
(/.f64 (*.f64 (+.f64 d3 d2) (-.f64 d3 d2)) (-.f64 d3 d2))
(/.f64 (*.f64 (+.f64 d3 d2) (-.f64 d2 d3)) (-.f64 d2 d3))
(/.f64 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64))) (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3)))
(/.f64 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64))) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2)))
(-.f64 (/.f64 (*.f64 d3 d3) (-.f64 d3 d2)) (/.f64 (*.f64 d2 d2) (-.f64 d3 d2)))
(-.f64 (/.f64 (*.f64 d2 d2) (-.f64 d2 d3)) (/.f64 (*.f64 d3 d3) (-.f64 d2 d3)))
(+.f64 (/.f64 (pow.f64 d3 #s(literal 3 binary64)) (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3))) (/.f64 (pow.f64 d2 #s(literal 3 binary64)) (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3))))
(+.f64 (/.f64 (pow.f64 d2 #s(literal 3 binary64)) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2))) (/.f64 (pow.f64 d3 #s(literal 3 binary64)) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2))))
(+.f64 d3 d2)
(+.f64 d2 d3)
(*.f64 (+.f64 d3 d2) d1)
(*.f64 d1 (-.f64 d3 (neg.f64 d2)))
(*.f64 d1 (+.f64 d3 d2))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (*.f64 (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))) (*.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d2 d3))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d3 d2))) (*.f64 (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (*.f64 (*.f64 d1 (-.f64 d3 d2)) (*.f64 d1 (-.f64 d3 d2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))) (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 d3 d2) (-.f64 d3 d2)) d1) (-.f64 d3 d2))
(/.f64 (*.f64 (*.f64 (+.f64 d3 d2) (-.f64 d2 d3)) d1) (-.f64 d2 d3))
(/.f64 (*.f64 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64))) d1) (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3)))
(/.f64 (*.f64 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64))) d1) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d2) (-.f64 d3 d2))) (-.f64 d3 d2))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d2) (-.f64 d2 d3))) (-.f64 d2 d3))
(/.f64 (*.f64 d1 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64)))) (fma.f64 d2 (-.f64 d2 d3) (*.f64 d3 d3)))
(/.f64 (*.f64 d1 (+.f64 (pow.f64 d3 #s(literal 3 binary64)) (pow.f64 d2 #s(literal 3 binary64)))) (fma.f64 d3 (-.f64 d3 d2) (*.f64 d2 d2)))
(/.f64 (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 (*.f64 d3 d1) (*.f64 (neg.f64 d1) d2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 d3 d2) d1) (*.f64 d1 (-.f64 d2 d3)))) (neg.f64 (*.f64 d1 (-.f64 d2 d3))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (neg.f64 (*.f64 d1 (-.f64 d3 d2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 d3 d2) d1) (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 (-.f64 d2 d3)))
(/.f64 (-.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))) (*.f64 d1 (-.f64 d3 d2)))
(/.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64))) (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64))) (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64))))
(fma.f64 d3 d1 (*.f64 d2 d1))
(fma.f64 d2 d1 (*.f64 (neg.f64 (neg.f64 d1)) d3))
(fma.f64 d2 d1 (*.f64 d3 d1))
(fma.f64 d1 d3 (*.f64 d2 d1))
(fma.f64 d1 d2 (*.f64 (neg.f64 (neg.f64 d1)) d3))
(fma.f64 d1 d2 (*.f64 d3 d1))
(-.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d2 d3))))
(-.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d3 d2))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)) (*.f64 d1 (-.f64 d3 d2))))
(-.f64 (*.f64 d3 d1) (*.f64 (neg.f64 d1) d2))
(-.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3))
(+.f64 (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d3 d1) (*.f64 d1 (-.f64 d3 d2)) (pow.f64 (*.f64 d2 d1) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 d3 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 d2 d1) #s(literal 3 binary64)) (fma.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d2 d3)) (pow.f64 (*.f64 d3 d1) #s(literal 2 binary64)))))
(+.f64 (*.f64 d3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d2 d1) (*.f64 (neg.f64 (neg.f64 d1)) d3))
(+.f64 (*.f64 d2 d1) (*.f64 d3 d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (+.f64 d3 d2) d1))
#s(approx (* d2 d1) (*.f64 d2 d1))
#s(approx d1 d1)
#s(approx (* d3 d1) (*.f64 d3 d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (+.f64 d3 d2) d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (+.f64 d3 d2) d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (neg.f64 d1) (-.f64 (neg.f64 d3) d2)))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (neg.f64 d1) (-.f64 (neg.f64 d3) d2)))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 d3 d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (+.f64 d3 d2) d1))
#s(approx d2 d2)
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 d3 d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (+.f64 d3 d2) d1))
#s(approx (+ d3 d2) d3)
#s(approx (+ d3 d2) (+.f64 d3 d2))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 d3 d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (+.f64 d3 d2) d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 d2 d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (fma.f64 (/.f64 d3 d2) d1 d1) d2))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 d2 d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (fma.f64 (/.f64 d3 d2) d1 d1) d2))
#s(approx (+ d3 d2) d2)
#s(approx (+ d3 d2) (fma.f64 (/.f64 d3 d2) d2 d2))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 d2 d1))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (fma.f64 (/.f64 d3 d2) d1 d1) d2))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (neg.f64 (fma.f64 (/.f64 d3 d2) d1 d1)) (neg.f64 d2)))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (neg.f64 (fma.f64 (/.f64 d3 d2) d1 d1)) (neg.f64 d2)))
#s(approx (+ d3 d2) (*.f64 (fma.f64 (/.f64 d3 d2) #s(literal -1 binary64) #s(literal -1 binary64)) (neg.f64 d2)))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (neg.f64 (fma.f64 (/.f64 d3 d2) d1 d1)) (neg.f64 d2)))
#s(approx d3 d3)
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (fma.f64 (/.f64 d2 d3) d1 d1) d3))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (fma.f64 (/.f64 d2 d3) d1 d1) d3))
#s(approx (+ d3 d2) (fma.f64 (/.f64 d2 d3) d3 d3))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (fma.f64 (/.f64 d2 d3) d1 d1) d3))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (neg.f64 (fma.f64 (/.f64 d2 d3) d1 d1)) (neg.f64 d3)))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (neg.f64 (fma.f64 (/.f64 d2 d3) d1 d1)) (neg.f64 d3)))
#s(approx (+ d3 d2) (*.f64 (fma.f64 (/.f64 d2 d3) #s(literal -1 binary64) #s(literal -1 binary64)) (neg.f64 d3)))
#s(approx (+ (* d3 d1) (* d2 d1)) (*.f64 (neg.f64 (fma.f64 (/.f64 d2 d3) d1 d1)) (neg.f64 d3)))

eval18.0ms (1.1%)

Memory
-6.5MiB live, 35.6MiB allocated; 12ms collecting garbage
Compiler

Compiled 1 648 to 264 computations (84% saved)

prune17.0ms (1%)

Memory
-26.2MiB live, 27.2MiB allocated; 14ms collecting garbage
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1040104
Fresh000
Picked044
Done000
Total1044108
Accuracy
100.0%
Counts
108 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(fma.f64 d3 d1 (*.f64 d2 d1))
100.0%
(*.f64 (+.f64 d3 d2) d1)
55.1%
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
53.9%
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Compiler

Compiled 73 to 42 computations (42.5% saved)

regimes9.0ms (0.5%)

Memory
29.9MiB live, 29.9MiB allocated; 0ms collecting garbage
Counts
5 → 1
Calls
Call 1
Inputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
(*.f64 (+.f64 d3 d2) d1)
(fma.f64 d3 d1 (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Outputs
(*.f64 (+.f64 d3 d2) d1)
Calls

4 calls:

2.0ms
d1
2.0ms
d3
2.0ms
d2
2.0ms
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Results
AccuracySegmentsBranch
100.0%1(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
100.0%1d1
100.0%1d2
100.0%1d3
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes11.0ms (0.7%)

Memory
-29.5MiB live, 15.7MiB allocated; 6ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
Outputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1))
Calls

4 calls:

7.0ms
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
1.0ms
d2
1.0ms
d1
1.0ms
d3
Results
AccuracySegmentsBranch
97.5%2(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
64.0%3d1
87.5%2d2
83.4%2d3
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes5.0ms (0.3%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Outputs
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Calls

4 calls:

1.0ms
d2
1.0ms
d1
1.0ms
d3
1.0ms
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Results
AccuracySegmentsBranch
53.9%1d1
53.9%1d3
53.9%1d2
53.9%1(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Compiler

Compiled 10 to 15 computations (-50% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-9.863248148870967e-250
0.0
Compiler

Compiled 10 to 12 computations (-20% saved)

simplify13.0ms (0.8%)

Memory
28.8MiB live, 28.8MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01842
12642
24242
36542
410042
512342
616042
717942
818942
919442
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (+.f64 d3 d2) d1)
(if (<=.f64 (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #s(literal -8061134813471455/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))
Outputs
(*.f64 (+.f64 d3 d2) d1)
(if (<=.f64 (+.f64 (*.f64 d1 d2) (*.f64 d1 d3)) #s(literal -8061134813471455/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1)) #s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d3 d1)))
#s(approx (+ (* d1 d2) (* d1 d3)) (*.f64 d2 d1))

derivations125.0ms (7.6%)

Memory
-44.8MiB live, 100.5MiB allocated; 19ms collecting garbage
Stop Event
done
Compiler

Compiled 48 to 18 computations (62.5% saved)

preprocess26.0ms (1.6%)

Memory
1.5MiB live, 49.1MiB allocated; 5ms collecting garbage
Remove

(sort d2 d3)

(negabs d1)

Compiler

Compiled 140 to 78 computations (44.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...