FastMath test2

Time bar (total: 3.6s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.6MiB live, 0.6MiB 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 13 to 11 computations (15.4% saved)

sample770.0ms (21.3%)

Memory
32.9MiB live, 959.7MiB allocated; 305ms collecting garbage
Samples
477.0ms8 131×0valid
7.0ms63×2valid
5.0ms62×1valid
Precisions
Click to see histograms. Total time spent on operations: 284.0ms
ival-mult!: 217.0ms (76.5% of total)
ival-add!: 61.0ms (21.5% of total)
adjust: 5.0ms (1.8% of total)
Bogosity

preprocess48.0ms (1.3%)

Memory
2.8MiB live, 45.9MiB allocated; 20ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02658
118946
2182146
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
Symmetry

(negabs d1)

Compiler

Compiled 22 to 18 computations (18.2% saved)

series839.0ms (23.2%)

Memory
-129.9MiB live, 58.8MiB allocated; 1.6s collecting garbage
Counts
9 → 16
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2))
(*.f64 d1 #s(literal 10 binary64))
d1
#s(literal 10 binary64)
(*.f64 d1 d2)
d2
(*.f64 d1 #s(literal 20 binary64))
#s(literal 20 binary64)
Outputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 d1 (+.f64 #s(literal 10 binary64) d2)))
#s(approx (* d1 10) (*.f64 #s(literal 10 binary64) d1))
#s(approx d1 d1)
#s(approx (* d1 d2) (*.f64 d1 d2))
#s(approx (* d1 20) (*.f64 #s(literal 20 binary64) d1))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64)))))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 10 binary64)))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (fma.f64 #s(literal 10 binary64) d1 (*.f64 #s(literal 20 binary64) d1)))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (fma.f64 #s(literal 10 binary64) d1 (fma.f64 #s(literal 20 binary64) d1 (*.f64 d1 d2))))
#s(approx (+ (* d1 10) (* d1 d2)) (fma.f64 #s(literal 10 binary64) d1 (*.f64 d1 d2)))
#s(approx d2 d2)
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2))))))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2)))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -1 binary64) d1 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 10 binary64) d1 (*.f64 #s(literal 20 binary64) d1)) d2))))))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -10 binary64) (/.f64 d1 d2) (*.f64 #s(literal -1 binary64) d1)))))
Calls

6 calls:

TimeVariablePoint
741.0ms
d1
-inf
4.0ms
d2
0
2.0ms
d1
inf
1.0ms
d1
0
1.0ms
d2
-inf

rewrite260.0ms (7.2%)

Memory
2.9MiB live, 145.1MiB allocated; 36ms collecting garbage
Counts
9 → 23
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2))
(*.f64 d1 #s(literal 10 binary64))
d1
#s(literal 10 binary64)
(*.f64 d1 d2)
d2
(*.f64 d1 #s(literal 20 binary64))
#s(literal 20 binary64)
Outputs
(*.f64 (+.f64 (+.f64 d2 #s(literal 10 binary64)) #s(literal 20 binary64)) d1)
(*.f64 d1 (+.f64 (+.f64 d2 #s(literal 10 binary64)) #s(literal 20 binary64)))
(*.f64 d1 (-.f64 (+.f64 d2 #s(literal 10 binary64)) (neg.f64 #s(literal 20 binary64))))
(*.f64 (/.f64 (*.f64 (+.f64 (+.f64 d2 #s(literal 10 binary64)) #s(literal 20 binary64)) d1) d1) (/.f64 (*.f64 (-.f64 (+.f64 d2 #s(literal 10 binary64)) #s(literal 20 binary64)) d1) (-.f64 (+.f64 d2 #s(literal 10 binary64)) #s(literal 20 binary64))))
(*.f64 (*.f64 (+.f64 (+.f64 d2 #s(literal 10 binary64)) #s(literal 20 binary64)) d1) (/.f64 (*.f64 (-.f64 (+.f64 d2 #s(literal 10 binary64)) #s(literal 20 binary64)) d1) (*.f64 (-.f64 (+.f64 d2 #s(literal 10 binary64)) #s(literal 20 binary64)) d1)))
(*.f64 (+.f64 d2 #s(literal 10 binary64)) d1)
(*.f64 d1 (+.f64 d2 #s(literal 10 binary64)))
(*.f64 d1 (-.f64 #s(literal 10 binary64) (neg.f64 d2)))
(*.f64 d1 (-.f64 d2 (neg.f64 #s(literal 10 binary64))))
(*.f64 (/.f64 (*.f64 (+.f64 d2 #s(literal 10 binary64)) d1) d1) (/.f64 (*.f64 (-.f64 #s(literal 10 binary64) d2) d1) (-.f64 #s(literal 10 binary64) d2)))
(*.f64 d1 #s(literal 10 binary64))
(*.f64 #s(literal 10 binary64) d1)
d1
(neg.f64 (neg.f64 d1))
#s(literal 10 binary64)
(*.f64 d1 d2)
(*.f64 d2 d1)
(neg.f64 (neg.f64 (*.f64 d1 d2)))
d2
(*.f64 d1 #s(literal 20 binary64))
(*.f64 #s(literal 20 binary64) d1)
(neg.f64 (neg.f64 (*.f64 d1 #s(literal 20 binary64))))
#s(literal 20 binary64)

eval6.0ms (0.2%)

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

Compiled 511 to 138 computations (73% saved)

prune3.0ms (0.1%)

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

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New28432
Fresh000
Picked101
Done000
Total29433
Accuracy
100.0%
Counts
33 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.f64 (*.f64 (+.f64 d2 #s(literal 10 binary64)) d1) (*.f64 d1 #s(literal 20 binary64)))
86.3%
(+.f64 #s(approx (+ (* d1 10) (* d1 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2))))) (*.f64 d1 #s(literal 20 binary64)))
86.2%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2))))))
100.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
Compiler

Compiled 73 to 53 computations (27.4% saved)

series160.0ms (4.4%)

Memory
17.1MiB live, 62.5MiB allocated; 25ms collecting garbage
Counts
23 → 43
Calls
Call 1
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
d1
(+.f64 #s(literal 30 binary64) d2)
#s(literal 30 binary64)
d2
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2))))))
(*.f64 d2 (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2)))))
(+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2))))
(fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2)))
#s(literal 10 binary64)
(/.f64 d1 d2)
(*.f64 #s(literal 20 binary64) (/.f64 d1 d2))
#s(literal 20 binary64)
(+.f64 #s(approx (+ (* d1 10) (* d1 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2))))) (*.f64 d1 #s(literal 20 binary64)))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2)))))
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2))))
(+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2)))
(*.f64 #s(literal 10 binary64) (/.f64 d1 d2))
(*.f64 d1 #s(literal 20 binary64))
(+.f64 (*.f64 (+.f64 d2 #s(literal 10 binary64)) d1) (*.f64 d1 #s(literal 20 binary64)))
(*.f64 (+.f64 d2 #s(literal 10 binary64)) d1)
(+.f64 d2 #s(literal 10 binary64))
Outputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
#s(approx d1 d1)
#s(approx (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (*.f64 d1 (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))))))
#s(approx (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))) (*.f64 d1 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))
#s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2)))
#s(approx (/ d1 d2) (/.f64 d1 d2))
#s(approx (* 20 (/ d1 d2)) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2)))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 d1 (+.f64 #s(literal 10 binary64) d2)))
#s(approx (* d2 (+ d1 (* 10 (/ d1 d2)))) (*.f64 d1 (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 10 binary64) (/.f64 #s(literal 1 binary64) d2))))))
#s(approx (+ d1 (* 10 (/ d1 d2))) (*.f64 d1 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 10 binary64) (/.f64 #s(literal 1 binary64) d2)))))
#s(approx (* 10 (/ d1 d2)) (*.f64 #s(literal 10 binary64) (/.f64 d1 d2)))
#s(approx (* d1 20) (*.f64 #s(literal 20 binary64) d1))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64)))))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 10 binary64)))))
#s(approx (+ (* (+ d2 10) d1) (* d1 20)) (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) (+.f64 #s(literal 10 binary64) d2)) #s(literal 20 binary64)))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (fma.f64 #s(literal 10 binary64) d1 (*.f64 #s(literal 20 binary64) d1)))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (fma.f64 #s(literal 10 binary64) d1 (fma.f64 #s(literal 20 binary64) d1 (*.f64 d1 d2))))
#s(approx (* d1 (+ 30 d2)) (*.f64 #s(literal 30 binary64) d1))
#s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2)))
#s(approx (+ 30 d2) #s(literal 30 binary64))
#s(approx (+ 30 d2) (+.f64 #s(literal 30 binary64) d2))
#s(approx d2 d2)
#s(approx (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))) (/.f64 (fma.f64 #s(literal 10 binary64) d1 (*.f64 #s(literal 20 binary64) d1)) d2))
#s(approx (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))) (/.f64 (fma.f64 #s(literal 10 binary64) d1 (fma.f64 #s(literal 20 binary64) d1 (*.f64 d1 d2))) d2))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 #s(literal 10 binary64) d1))
#s(approx (+ (* d1 10) (* d1 d2)) (fma.f64 #s(literal 10 binary64) d1 (*.f64 d1 d2)))
#s(approx (+ d1 (* 10 (/ d1 d2))) (/.f64 (fma.f64 #s(literal 10 binary64) d1 (*.f64 d1 d2)) d2))
#s(approx (+ d2 10) #s(literal 10 binary64))
#s(approx (+ d2 10) (+.f64 #s(literal 10 binary64) d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2))))))
#s(approx (* d1 (+ 30 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2)))))
#s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))
#s(approx (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))) (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2)))))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2)))))
#s(approx (+ d1 (* 10 (/ d1 d2))) (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2))))
#s(approx (+ d2 10) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 10 binary64) (/.f64 #s(literal 1 binary64) d2)))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -1 binary64) d1 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 10 binary64) d1 (*.f64 #s(literal 20 binary64) d1)) d2))))))
#s(approx (* d1 (+ 30 d2)) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -30 binary64) (/.f64 d1 d2) (*.f64 #s(literal -1 binary64) d1)))))
#s(approx (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -20 binary64) (/.f64 d1 d2) (fma.f64 #s(literal -10 binary64) (/.f64 d1 d2) (*.f64 #s(literal -1 binary64) d1))))))
#s(approx (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))) (+.f64 d1 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -20 binary64) d1 (*.f64 #s(literal -10 binary64) d1)) d2))))
#s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -20 binary64) d1 (*.f64 #s(literal -10 binary64) d1)) d2)))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -10 binary64) (/.f64 d1 d2) (*.f64 #s(literal -1 binary64) d1)))))
Calls

6 calls:

TimeVariablePoint
11.0ms
d1
inf
10.0ms
d2
-inf
9.0ms
d1
-inf
7.0ms
d1
0
5.0ms
d2
inf

rewrite345.0ms (9.6%)

Memory
-7.1MiB live, 222.1MiB allocated; 38ms collecting garbage
Counts
23 → 81
Calls
Call 1
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
d1
(+.f64 #s(literal 30 binary64) d2)
#s(literal 30 binary64)
d2
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2))))))
(*.f64 d2 (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2)))))
(+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2))))
(fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2)))
#s(literal 10 binary64)
(/.f64 d1 d2)
(*.f64 #s(literal 20 binary64) (/.f64 d1 d2))
#s(literal 20 binary64)
(+.f64 #s(approx (+ (* d1 10) (* d1 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2))))) (*.f64 d1 #s(literal 20 binary64)))
#s(approx (+ (* d1 10) (* d1 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2)))))
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2))))
(+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2)))
(*.f64 #s(literal 10 binary64) (/.f64 d1 d2))
(*.f64 d1 #s(literal 20 binary64))
(+.f64 (*.f64 (+.f64 d2 #s(literal 10 binary64)) d1) (*.f64 d1 #s(literal 20 binary64)))
(*.f64 (+.f64 d2 #s(literal 10 binary64)) d1)
(+.f64 d2 #s(literal 10 binary64))
Outputs
#s(approx (* d1 (+ (+ d2 20) 10)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (+.f64 #s(literal 30 binary64) d2) d1)
(*.f64 (*.f64 (+.f64 #s(literal 30 binary64) d2) (-.f64 #s(literal 30 binary64) d2)) (/.f64 d1 (-.f64 #s(literal 30 binary64) d2)))
(*.f64 d1 (-.f64 #s(literal 30 binary64) (neg.f64 d2)))
(*.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
d1
(neg.f64 (neg.f64 d1))
(*.f64 (+.f64 #s(literal 30 binary64) d2) (/.f64 (-.f64 #s(literal 30 binary64) d2) (-.f64 #s(literal 30 binary64) d2)))
(*.f64 (/.f64 (*.f64 (+.f64 #s(literal 30 binary64) d2) (-.f64 #s(literal 30 binary64) d2)) (-.f64 (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64)) (*.f64 (*.f64 d2 d2) d2))) (fma.f64 d2 (+.f64 #s(literal 30 binary64) d2) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))
(*.f64 (/.f64 (*.f64 (+.f64 #s(literal 30 binary64) d2) (-.f64 #s(literal 30 binary64) d2)) (*.f64 (+.f64 #s(literal 30 binary64) d2) (-.f64 #s(literal 30 binary64) d2))) (+.f64 #s(literal 30 binary64) d2))
(*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (/.f64 (+.f64 #s(literal 30 binary64) d2) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
(*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64)) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) #s(literal 30 binary64) (pow.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) #s(literal 3 binary64)))) (fma.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) (-.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
#s(literal 30 binary64)
d2
(neg.f64 (neg.f64 d2))
#s(approx (* d1 (+ (+ d2 20) 10)) (*.f64 (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1) d2))
(*.f64 (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1) d2)
(*.f64 d2 (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1))
(*.f64 (*.f64 (-.f64 d1 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2))) (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1)) (/.f64 d2 (-.f64 d1 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)))))
(*.f64 (fma.f64 (*.f64 d1 d1) d1 (pow.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) #s(literal 3 binary64))) (/.f64 d2 (fma.f64 (-.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) d1) (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) (*.f64 d1 d1))))
(*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1) d2) (-.f64 d1 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)))) (-.f64 (*.f64 (*.f64 d1 d1) d1) (pow.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1) (*.f64 d1 d1)))
(*.f64 (fma.f64 (-.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) d1) (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) (*.f64 d1 d1)) (/.f64 (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1) (fma.f64 (-.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) d1) (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) (*.f64 d1 d1))))
(*.f64 (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1) (/.f64 (-.f64 d1 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2))) (-.f64 d1 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)))))
(*.f64 (/.f64 (*.f64 (-.f64 d1 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2))) (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1)) (-.f64 (*.f64 (*.f64 d1 d1) d1) (pow.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1) (*.f64 d1 d1)))
(*.f64 (/.f64 (*.f64 (-.f64 d1 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2))) (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1)) (*.f64 (-.f64 d1 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2))) (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1))) (fma.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2) d1))
(*.f64 (/.f64 (fma.f64 (*.f64 d1 d1) d1 (pow.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)) (*.f64 d1 d1) (pow.f64 (*.f64 (-.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) d1) (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2))) #s(literal 3 binary64)))) (fma.f64 (*.f64 (-.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) d1) (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2))) (-.f64 (*.f64 (-.f64 (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2)) d1) (*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2))) (*.f64 d1 d1)) (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))))
(*.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) (/.f64 d1 d2))
(*.f64 (/.f64 d1 d2) (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)))
(*.f64 (-.f64 #s(literal 10 binary64) (neg.f64 #s(literal 20 binary64))) (/.f64 d1 d2))
(*.f64 d1 (+.f64 (/.f64 #s(literal 20 binary64) d2) (/.f64 #s(literal 10 binary64) d2)))
(*.f64 d1 (+.f64 (/.f64 #s(literal 10 binary64) d2) (/.f64 #s(literal 20 binary64) d2)))
#s(literal 10 binary64)
(neg.f64 (neg.f64 #s(literal 10 binary64)))
(/.f64 d1 d2)
(/.f64 (neg.f64 d1) (neg.f64 d2))
(neg.f64 (neg.f64 (/.f64 d1 d2)))
(*.f64 #s(literal 20 binary64) (/.f64 d1 d2))
(*.f64 (/.f64 #s(literal 20 binary64) d2) d1)
(*.f64 (/.f64 d1 d2) #s(literal 20 binary64))
(*.f64 d1 (/.f64 #s(literal 20 binary64) d2))
(*.f64 (neg.f64 d1) (/.f64 #s(literal 20 binary64) (neg.f64 d2)))
#s(literal 20 binary64)
(neg.f64 (neg.f64 #s(literal 20 binary64)))
(+.f64 #s(approx (* (+ d2 10) d1) (*.f64 d2 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1))) (*.f64 d1 #s(literal 20 binary64)))
#s(approx (* (+ d2 10) d1) (*.f64 d2 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1)))
(*.f64 d2 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1))
(*.f64 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1) d2)
(*.f64 (*.f64 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1) (-.f64 d1 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2))) (/.f64 d2 (-.f64 d1 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2))))
(*.f64 (/.f64 (*.f64 (*.f64 d2 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1)) (-.f64 d1 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2))) (*.f64 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1) (-.f64 d1 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2)))) (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1))
(*.f64 (fma.f64 (*.f64 d1 d1) d1 (pow.f64 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) #s(literal 3 binary64))) (/.f64 d2 (fma.f64 (-.f64 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) d1) (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) (*.f64 d1 d1))))
(*.f64 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1) (/.f64 (-.f64 d1 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2)) (-.f64 d1 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2))))
(*.f64 (/.f64 (*.f64 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1) (-.f64 d1 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2))) (*.f64 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1) (-.f64 d1 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2)))) (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1))
(*.f64 (fma.f64 (-.f64 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) d1) (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) (*.f64 d1 d1)) (/.f64 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1) (fma.f64 (-.f64 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) d1) (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) (*.f64 d1 d1))))
(*.f64 (/.f64 (*.f64 (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1) (-.f64 d1 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2))) (-.f64 (*.f64 (*.f64 d1 d1) d1) (pow.f64 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) #s(literal 3 binary64)))) (fma.f64 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) (fma.f64 (/.f64 #s(literal 10 binary64) d2) d1 d1) (*.f64 d1 d1)))
(*.f64 (/.f64 (fma.f64 (*.f64 d1 d1) d1 (pow.f64 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) #s(literal 3 binary64))) (-.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)) (pow.f64 (*.f64 (-.f64 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) d1) (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2)) #s(literal 2 binary64)))) (-.f64 (*.f64 d1 d1) (*.f64 (-.f64 (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2) d1) (/.f64 (*.f64 d1 #s(literal 10 binary64)) d2))))
(*.f64 #s(literal 10 binary64) (/.f64 d1 d2))
(*.f64 (/.f64 #s(literal 10 binary64) d2) d1)
(*.f64 (/.f64 d1 d2) #s(literal 10 binary64))
(*.f64 d1 (/.f64 #s(literal 10 binary64) d2))
(*.f64 (neg.f64 d1) (/.f64 #s(literal 10 binary64) (neg.f64 d2)))
(*.f64 d1 #s(literal 20 binary64))
(*.f64 #s(literal 20 binary64) d1)
(*.f64 (neg.f64 #s(literal 20 binary64)) (neg.f64 d1))
(*.f64 (neg.f64 d1) (neg.f64 #s(literal 20 binary64)))
(neg.f64 (neg.f64 (*.f64 d1 #s(literal 20 binary64))))
(*.f64 (+.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) d2) d1)
(*.f64 d1 (+.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) d2))
(*.f64 d1 (-.f64 (+.f64 d2 #s(literal 10 binary64)) (neg.f64 #s(literal 20 binary64))))
(*.f64 (/.f64 (*.f64 (+.f64 (+.f64 #s(literal 20 binary64) #s(literal 10 binary64)) d2) d1) d1) (/.f64 (*.f64 (-.f64 (+.f64 d2 #s(literal 10 binary64)) #s(literal 20 binary64)) d1) (-.f64 (+.f64 d2 #s(literal 10 binary64)) #s(literal 20 binary64))))
(*.f64 d1 (-.f64 #s(literal 20 binary64) (neg.f64 (+.f64 d2 #s(literal 10 binary64)))))
(*.f64 (+.f64 d2 #s(literal 10 binary64)) d1)
(*.f64 d1 (+.f64 d2 #s(literal 10 binary64)))
(*.f64 (*.f64 (+.f64 d2 #s(literal 10 binary64)) (-.f64 d2 #s(literal 10 binary64))) (/.f64 d1 (-.f64 d2 #s(literal 10 binary64))))
(*.f64 d1 (-.f64 #s(literal 10 binary64) (neg.f64 d2)))
(*.f64 d1 (-.f64 d2 (neg.f64 #s(literal 10 binary64))))
(*.f64 (+.f64 d2 #s(literal 10 binary64)) (/.f64 (-.f64 d2 #s(literal 10 binary64)) (-.f64 d2 #s(literal 10 binary64))))
(*.f64 (/.f64 (*.f64 (+.f64 d2 #s(literal 10 binary64)) (-.f64 d2 #s(literal 10 binary64))) (*.f64 (+.f64 d2 #s(literal 10 binary64)) (-.f64 d2 #s(literal 10 binary64)))) (+.f64 d2 #s(literal 10 binary64)))
(*.f64 (/.f64 (*.f64 (+.f64 d2 #s(literal 10 binary64)) (-.f64 d2 #s(literal 10 binary64))) (-.f64 (*.f64 (*.f64 d2 d2) d2) (*.f64 (*.f64 #s(literal 10 binary64) #s(literal 10 binary64)) #s(literal 10 binary64)))) (fma.f64 #s(literal 10 binary64) (+.f64 d2 #s(literal 10 binary64)) (*.f64 d2 d2)))
(*.f64 (fma.f64 (-.f64 #s(literal 10 binary64) d2) #s(literal 10 binary64) (*.f64 d2 d2)) (/.f64 (+.f64 d2 #s(literal 10 binary64)) (fma.f64 (-.f64 #s(literal 10 binary64) d2) #s(literal 10 binary64) (*.f64 d2 d2))))
(*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 10 binary64) #s(literal 10 binary64)) #s(literal 10 binary64) (*.f64 (*.f64 d2 d2) d2)) (fma.f64 (*.f64 (*.f64 (*.f64 d2 d2) d2) (*.f64 d2 d2)) d2 (pow.f64 (*.f64 (-.f64 #s(literal 10 binary64) d2) #s(literal 10 binary64)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (-.f64 #s(literal 10 binary64) d2) #s(literal 10 binary64)) (-.f64 (*.f64 (-.f64 #s(literal 10 binary64) d2) #s(literal 10 binary64)) (*.f64 d2 d2)) (*.f64 (*.f64 d2 d2) (*.f64 d2 d2))))

eval22.0ms (0.6%)

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

Compiled 3 687 to 637 computations (82.7% saved)

prune7.0ms (0.2%)

Memory
-35.8MiB live, 10.7MiB allocated; 3ms collecting garbage
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1286134
Fresh000
Picked314
Done000
Total1317138
Accuracy
100.0%
Counts
138 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.4%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))))
86.2%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 #s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))))
100.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
99.7%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))))
52.7%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64))))
49.8%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
100.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) #s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))))
Compiler

Compiled 319 to 217 computations (32% saved)

series97.0ms (2.7%)

Memory
42.1MiB live, 90.6MiB allocated; 17ms collecting garbage
Counts
25 → 31
Calls
Call 1
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) #s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))))
#s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2)))
(fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))
#s(literal 30 binary64)
d1
(*.f64 d1 d2)
d2
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64))))
(*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64)))
#s(approx (+ 30 d2) #s(literal 30 binary64))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 #s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))))
(*.f64 d2 (+.f64 d1 #s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2)))))
(+.f64 d1 #s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
#s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2)))
(*.f64 #s(literal 30 binary64) (/.f64 d1 d2))
(/.f64 d1 d2)
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))))
(*.f64 d1 #s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))))))
#s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))
(*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))
#s(literal 1 binary64)
(*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))
(/.f64 #s(literal 1 binary64) d2)
Outputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
#s(approx d1 d1)
#s(approx (* d1 d2) (*.f64 d1 d2))
#s(approx (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (*.f64 d1 (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))))))
#s(approx (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))) (*.f64 d1 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))
#s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2)))
#s(approx (/ d1 d2) (/.f64 d1 d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64)))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (fma.f64 #s(literal 10 binary64) d1 (*.f64 #s(literal 20 binary64) d1)))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (fma.f64 #s(literal 10 binary64) d1 (fma.f64 #s(literal 20 binary64) d1 (*.f64 d1 d2))))
#s(approx (* d1 (+ 30 d2)) (*.f64 #s(literal 30 binary64) d1))
#s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2)))
#s(approx d2 d2)
#s(approx (+ 30 d2) #s(literal 30 binary64))
#s(approx (+ 30 d2) (+.f64 #s(literal 30 binary64) d2))
#s(approx (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))) (/.f64 (fma.f64 #s(literal 10 binary64) d1 (*.f64 #s(literal 20 binary64) d1)) d2))
#s(approx (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))) (/.f64 (fma.f64 #s(literal 10 binary64) d1 (fma.f64 #s(literal 20 binary64) d1 (*.f64 d1 d2))) d2))
#s(approx (+ 1 (* 30 (/ 1 d2))) (/.f64 #s(literal 30 binary64) d2))
#s(approx (+ 1 (* 30 (/ 1 d2))) (/.f64 (+.f64 #s(literal 30 binary64) d2) d2))
#s(approx (/ 1 d2) (/.f64 #s(literal 1 binary64) d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2))))))
#s(approx (* d1 (+ 30 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2)))))
#s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))
#s(approx (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))) (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2)))))
#s(approx (+ 1 (* 30 (/ 1 d2))) #s(literal 1 binary64))
#s(approx (+ 1 (* 30 (/ 1 d2))) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -1 binary64) d1 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 10 binary64) d1 (*.f64 #s(literal 20 binary64) d1)) d2))))))
#s(approx (* d1 (+ 30 d2)) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -30 binary64) (/.f64 d1 d2) (*.f64 #s(literal -1 binary64) d1)))))
#s(approx (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -20 binary64) (/.f64 d1 d2) (fma.f64 #s(literal -10 binary64) (/.f64 d1 d2) (*.f64 #s(literal -1 binary64) d1))))))
#s(approx (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))) (+.f64 d1 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -20 binary64) d1 (*.f64 #s(literal -10 binary64) d1)) d2))))
#s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -20 binary64) d1 (*.f64 #s(literal -10 binary64) d1)) d2)))
Calls

6 calls:

TimeVariablePoint
3.0ms
d2
-inf
2.0ms
d1
-inf
2.0ms
d1
inf
2.0ms
d2
0
2.0ms
d2
inf

rewrite387.0ms (10.7%)

Memory
-32.2MiB live, 345.2MiB allocated; 165ms collecting garbage
Counts
25 → 70
Calls
Call 1
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) #s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))))
#s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2)))
(fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))
#s(literal 30 binary64)
d1
(*.f64 d1 d2)
d2
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64))))
(*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64)))
#s(approx (+ 30 d2) #s(literal 30 binary64))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 #s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))))
(*.f64 d2 (+.f64 d1 #s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2)))))
(+.f64 d1 #s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
#s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2)))
(*.f64 #s(literal 30 binary64) (/.f64 d1 d2))
(/.f64 d1 d2)
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))))
(*.f64 d1 #s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))))))
#s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))
(*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))
#s(literal 1 binary64)
(*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))
(/.f64 #s(literal 1 binary64) d2)
Outputs
#s(approx (* d1 (+ d2 (+ 10 20))) #s(approx (* (+ d2 30) d1) (*.f64 (+.f64 d2 #s(literal 30 binary64)) d1)))
#s(approx (* (+ d2 30) d1) (*.f64 (+.f64 d2 #s(literal 30 binary64)) d1))
(*.f64 (+.f64 d2 #s(literal 30 binary64)) d1)
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(*.f64 (*.f64 (+.f64 d2 #s(literal 30 binary64)) (-.f64 #s(literal 30 binary64) d2)) (/.f64 d1 (-.f64 #s(literal 30 binary64) d2)))
(*.f64 (/.f64 (*.f64 (+.f64 d2 #s(literal 30 binary64)) d1) d1) (/.f64 (*.f64 (-.f64 #s(literal 30 binary64) d2) d1) (-.f64 #s(literal 30 binary64) d2)))
(*.f64 (*.f64 (+.f64 d2 #s(literal 30 binary64)) d1) (/.f64 (*.f64 (-.f64 #s(literal 30 binary64) d2) d1) (*.f64 (-.f64 #s(literal 30 binary64) d2) d1)))
#s(literal 30 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 30 binary64))
(*.f64 #s(literal 30 binary64) #s(literal 1 binary64))
(*.f64 (*.f64 d2 #s(literal 30 binary64)) (/.f64 #s(literal 1 binary64) d2))
(*.f64 (/.f64 d2 #s(literal 1 binary64)) (/.f64 #s(literal 30 binary64) d2))
d1
(neg.f64 (neg.f64 d1))
(*.f64 d1 d2)
(*.f64 d2 d1)
(*.f64 (*.f64 d1 #s(literal 1 binary64)) d2)
(*.f64 (*.f64 d1 d2) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 d1 d2))
d2
(*.f64 d2 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) d2)
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 d2))
(*.f64 (neg.f64 d2) (neg.f64 #s(literal 1 binary64)))
#s(approx (* d1 (+ d2 (+ 10 20))) (*.f64 d1 d2))
#s(approx (* d1 (+ d2 (+ 10 20))) (*.f64 d1 #s(approx (+ d2 30) #s(literal 30 binary64))))
(*.f64 d1 #s(approx (+ d2 30) #s(literal 30 binary64)))
#s(approx (+ d2 30) #s(literal 30 binary64))
#s(approx (* d1 (+ d2 (+ 10 20))) (*.f64 d2 (+.f64 d1 #s(approx (* (/ d1 d2) (+ 10 20)) (/.f64 (*.f64 d1 #s(literal 30 binary64)) d2)))))
(*.f64 d2 (+.f64 d1 #s(approx (* (/ d1 d2) (+ 10 20)) (/.f64 (*.f64 d1 #s(literal 30 binary64)) d2))))
(+.f64 d1 #s(approx (* (/ d1 d2) (+ 10 20)) (/.f64 (*.f64 d1 #s(literal 30 binary64)) d2)))
#s(approx (* (/ d1 d2) (+ 10 20)) (/.f64 (*.f64 d1 #s(literal 30 binary64)) d2))
(*.f64 #s(literal 30 binary64) (/.f64 d1 d2))
(*.f64 (*.f64 d1 #s(literal 30 binary64)) (/.f64 #s(literal 1 binary64) d2))
(*.f64 (*.f64 d1 #s(literal 1 binary64)) (/.f64 #s(literal 30 binary64) d2))
(*.f64 (/.f64 d1 #s(literal 1 binary64)) (/.f64 #s(literal 30 binary64) d2))
(*.f64 (/.f64 #s(literal 30 binary64) d2) d1)
(/.f64 d1 d2)
(/.f64 (/.f64 d1 #s(literal 1 binary64)) d2)
(/.f64 (/.f64 d1 d2) #s(literal 1 binary64))
(/.f64 (neg.f64 d1) (neg.f64 d2))
(neg.f64 (neg.f64 (/.f64 d1 d2)))
#s(approx (* d1 (+ d2 (+ 10 20))) (*.f64 d1 #s(approx (+ d2 30) (+.f64 d2 #s(literal 30 binary64)))))
(*.f64 d1 #s(approx (+ d2 30) (+.f64 d2 #s(literal 30 binary64))))
#s(approx (+ d2 30) (+.f64 d2 #s(literal 30 binary64)))
(*.f64 (+.f64 d2 #s(literal 30 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 d2 #s(literal 30 binary64)))
(*.f64 d2 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2)
(*.f64 (+.f64 d2 #s(literal 30 binary64)) (/.f64 (-.f64 #s(literal 30 binary64) d2) (-.f64 #s(literal 30 binary64) d2)))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2))))
(*.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 d2 d2))) (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 d2 d2)))) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)))
(*.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 d2 d2))) (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64)) (*.f64 (*.f64 d2 d2) d2)))) (fma.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) (/.f64 #s(literal 30 binary64) d2) #s(literal 1 binary64)))
#s(literal 1 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) d2) d2)
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 #s(literal 1 binary64)))
(*.f64 d2 (/.f64 #s(literal 1 binary64) d2))
(*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))
(*.f64 (-.f64 #s(literal 1 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 30 binary64) d2))
(*.f64 (/.f64 #s(literal 30 binary64) d2) #s(literal 1 binary64))
(*.f64 (/.f64 #s(literal 30 binary64) d2) (-.f64 #s(literal 1 binary64) #s(literal 0 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) d2) #s(literal 30 binary64))
(*.f64 (-.f64 #s(literal 1 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 1 binary64) d2))
(*.f64 (/.f64 #s(literal 1 binary64) d2) (pow.f64 #s(literal 1 binary64) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) d2) (-.f64 #s(literal 1 binary64) #s(literal 0 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) d2) #s(literal 1 binary64))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) d2))

eval13.0ms (0.3%)

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

Compiled 3 676 to 626 computations (83% saved)

prune6.0ms (0.2%)

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

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New1271128
Fresh011
Picked145
Done011
Total1287135
Accuracy
100.0%
Counts
135 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.4%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))))
86.2%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 #s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))))
100.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
99.8%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2))))
52.7%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64))))
49.8%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
100.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) #s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))))
Compiler

Compiled 166 to 114 computations (31.3% saved)

series176.0ms (4.9%)

Memory
-30.3MiB live, 107.0MiB allocated; 48ms collecting garbage
Counts
19 → 53
Calls
Call 1
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2))))
(*.f64 d1 #s(approx (+ 30 d2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2)))
d1
#s(approx (+ 30 d2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2)
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2))
#s(literal 1 binary64)
(/.f64 #s(literal 30 binary64) d2)
#s(literal 30 binary64)
d2
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))))
(*.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
(fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2))
(*.f64 #s(literal 30 binary64) #s(literal 30 binary64))
(*.f64 (*.f64 d2 d2) d2)
(*.f64 d2 d2)
(/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))
(fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))
(-.f64 d2 #s(literal 30 binary64))
Outputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
#s(approx d1 d1)
#s(approx (* (+ (* (* 30 30) 30) (* (* d2 d2) d2)) (/ d1 (+ (* (- d2 30) d2) (* 30 30)))) (/.f64 (*.f64 d1 (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64)))) (+.f64 #s(literal 900 binary64) (*.f64 d2 (-.f64 d2 #s(literal 30 binary64))))))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (/.f64 d1 (+.f64 #s(literal 900 binary64) (*.f64 d2 (-.f64 d2 #s(literal 30 binary64))))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64)))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (fma.f64 #s(literal 10 binary64) d1 (*.f64 #s(literal 20 binary64) d1)))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (fma.f64 #s(literal 10 binary64) d1 (fma.f64 #s(literal 20 binary64) d1 (*.f64 d1 d2))))
#s(approx (* d1 (+ 30 d2)) (*.f64 #s(literal 30 binary64) d1))
#s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2)))
#s(approx (+ 30 d2) #s(literal 30 binary64))
#s(approx (+ 30 d2) (+.f64 #s(literal 30 binary64) d2))
#s(approx (+ 1 (/ 30 d2)) (/.f64 #s(literal 30 binary64) d2))
#s(approx (+ 1 (/ 30 d2)) (/.f64 (+.f64 #s(literal 30 binary64) d2) d2))
#s(approx d2 d2)
#s(approx (* (+ (* (* 30 30) 30) (* (* d2 d2) d2)) (/ d1 (+ (* (- d2 30) d2) (* 30 30)))) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d2 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -1/30 binary64) d1 (*.f64 #s(literal 1/30 binary64) d1)))) (*.f64 #s(literal -1 binary64) d1)))))
#s(approx (* (+ (* (* 30 30) 30) (* (* d2 d2) d2)) (/ d1 (+ (* (- d2 30) d2) (* 30 30)))) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d2 (-.f64 (*.f64 d2 (-.f64 (*.f64 #s(literal -1/30 binary64) (*.f64 d2 (fma.f64 #s(literal -1/30 binary64) d1 (*.f64 #s(literal 1/30 binary64) d1)))) (fma.f64 #s(literal -1/30 binary64) d1 (*.f64 #s(literal 1/30 binary64) d1)))) (*.f64 #s(literal -1 binary64) d1)))))
#s(approx (+ (* (* 30 30) 30) (* (* d2 d2) d2)) #s(literal 27000 binary64))
#s(approx (+ (* (* 30 30) 30) (* (* d2 d2) d2)) (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64))))
#s(approx (* (* d2 d2) d2) (pow.f64 d2 #s(literal 3 binary64)))
#s(approx (* d2 d2) (pow.f64 d2 #s(literal 2 binary64)))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (*.f64 #s(literal 1/900 binary64) d1))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (fma.f64 #s(literal 1/27000 binary64) (*.f64 d1 d2) (*.f64 #s(literal 1/900 binary64) d1)))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (fma.f64 #s(literal 1/900 binary64) d1 (*.f64 d2 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -1/810000 binary64) d1 (*.f64 #s(literal 1/810000 binary64) d1)))) (*.f64 #s(literal -1/27000 binary64) d1)))))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (fma.f64 #s(literal 1/900 binary64) d1 (*.f64 d2 (-.f64 (*.f64 d2 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal 1/24300000 binary64) d1 (*.f64 #s(literal 1/30 binary64) (fma.f64 #s(literal -1/810000 binary64) d1 (*.f64 #s(literal 1/810000 binary64) d1)))))) (fma.f64 #s(literal -1/810000 binary64) d1 (*.f64 #s(literal 1/810000 binary64) d1)))) (*.f64 #s(literal -1/27000 binary64) d1)))))
#s(approx (+ (* (- d2 30) d2) (* 30 30)) #s(literal 900 binary64))
#s(approx (+ (* (- d2 30) d2) (* 30 30)) (+.f64 #s(literal 900 binary64) (*.f64 #s(literal -30 binary64) d2)))
#s(approx (+ (* (- d2 30) d2) (* 30 30)) (+.f64 #s(literal 900 binary64) (*.f64 d2 (-.f64 d2 #s(literal 30 binary64)))))
#s(approx (- d2 30) #s(literal -30 binary64))
#s(approx (- d2 30) (-.f64 d2 #s(literal 30 binary64)))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2))))))
#s(approx (* d1 (+ 30 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2)))))
#s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))
#s(approx (+ 1 (/ 30 d2)) #s(literal 1 binary64))
#s(approx (+ 1 (/ 30 d2)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2))))
#s(approx (* (+ (* (* 30 30) 30) (* (* d2 d2) d2)) (/ d1 (+ (* (- d2 30) d2) (* 30 30)))) (*.f64 d2 (-.f64 (+.f64 d1 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -900 binary64) d1 (*.f64 #s(literal 900 binary64) d1)) (pow.f64 d2 #s(literal 2 binary64))))) (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)))))
#s(approx (* (+ (* (* 30 30) 30) (* (* d2 d2) d2)) (/ d1 (+ (* (- d2 30) d2) (* 30 30)))) (*.f64 d2 (-.f64 (+.f64 d1 (*.f64 #s(literal -30 binary64) (/.f64 (fma.f64 #s(literal -900 binary64) d1 (*.f64 #s(literal 900 binary64) d1)) (pow.f64 d2 #s(literal 3 binary64))))) (fma.f64 #s(literal -900 binary64) (/.f64 d1 (pow.f64 d2 #s(literal 2 binary64))) (fma.f64 #s(literal -30 binary64) (/.f64 d1 d2) (*.f64 #s(literal 900 binary64) (/.f64 d1 (pow.f64 d2 #s(literal 2 binary64)))))))))
#s(approx (+ (* (* 30 30) 30) (* (* d2 d2) d2)) (*.f64 (pow.f64 d2 #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 27000 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 d2 #s(literal 3 binary64)))))))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (/.f64 d1 (pow.f64 d2 #s(literal 2 binary64))))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (/.f64 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))) (pow.f64 d2 #s(literal 2 binary64))))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (/.f64 (-.f64 (+.f64 d1 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -900 binary64) d1 (*.f64 #s(literal 900 binary64) d1)) (pow.f64 d2 #s(literal 2 binary64))))) (*.f64 #s(literal -30 binary64) (/.f64 d1 d2))) (pow.f64 d2 #s(literal 2 binary64))))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (/.f64 (-.f64 (+.f64 d1 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (fma.f64 #s(literal -900 binary64) d1 (*.f64 #s(literal 900 binary64) d1)) (*.f64 #s(literal 27000 binary64) d1)) (pow.f64 d2 #s(literal 3 binary64))))) (fma.f64 #s(literal -900 binary64) (/.f64 d1 (pow.f64 d2 #s(literal 2 binary64))) (fma.f64 #s(literal -30 binary64) (/.f64 d1 d2) (*.f64 #s(literal 900 binary64) (/.f64 d1 (pow.f64 d2 #s(literal 2 binary64))))))) (pow.f64 d2 #s(literal 2 binary64))))
#s(approx (+ (* (- d2 30) d2) (* 30 30)) (*.f64 (pow.f64 d2 #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))
#s(approx (+ (* (- d2 30) d2) (* 30 30)) (*.f64 (pow.f64 d2 #s(literal 2 binary64)) (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 900 binary64) (pow.f64 d2 #s(literal 2 binary64)))) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))
#s(approx (- d2 30) (*.f64 d2 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -1 binary64) d1 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 10 binary64) d1 (*.f64 #s(literal 20 binary64) d1)) d2))))))
#s(approx (* d1 (+ 30 d2)) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -30 binary64) (/.f64 d1 d2) (*.f64 #s(literal -1 binary64) d1)))))
#s(approx (* (+ (* (* 30 30) 30) (* (* d2 d2) d2)) (/ d1 (+ (* (- d2 30) d2) (* 30 30)))) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -1 binary64) d1 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -900 binary64) (/.f64 d1 d2) (*.f64 #s(literal 900 binary64) (/.f64 d1 d2))) (*.f64 #s(literal -30 binary64) d1)) d2))))))
#s(approx (* (+ (* (* 30 30) 30) (* (* d2 d2) d2)) (/ d1 (+ (* (- d2 30) d2) (* 30 30)))) (*.f64 #s(literal -1 binary64) (*.f64 d2 (fma.f64 #s(literal -1 binary64) d1 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -30 binary64) (/.f64 (fma.f64 #s(literal -900 binary64) d1 (*.f64 #s(literal 900 binary64) d1)) d2)) (fma.f64 #s(literal -900 binary64) d1 (*.f64 #s(literal 900 binary64) d1))) d2)) (*.f64 #s(literal -30 binary64) d1)) d2))))))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (/.f64 (+.f64 d1 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -900 binary64) (/.f64 d1 d2) (*.f64 #s(literal 900 binary64) (/.f64 d1 d2))) (*.f64 #s(literal 30 binary64) d1)) d2))) (pow.f64 d2 #s(literal 2 binary64))))
#s(approx (/ d1 (+ (* (- d2 30) d2) (* 30 30))) (/.f64 (+.f64 d1 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -27000 binary64) (/.f64 d1 d2) (*.f64 #s(literal -30 binary64) (/.f64 (fma.f64 #s(literal -900 binary64) d1 (*.f64 #s(literal 900 binary64) d1)) d2))) (fma.f64 #s(literal -900 binary64) d1 (*.f64 #s(literal 900 binary64) d1))) d2)) (*.f64 #s(literal 30 binary64) d1)) d2))) (pow.f64 d2 #s(literal 2 binary64))))
#s(approx (+ (* (- d2 30) d2) (* 30 30)) (*.f64 (pow.f64 d2 #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 #s(literal 30 binary64) (*.f64 #s(literal 900 binary64) (/.f64 #s(literal 1 binary64) d2))) d2)))))
#s(approx (- d2 30) (*.f64 #s(literal -1 binary64) (*.f64 d2 (-.f64 (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)) #s(literal 1 binary64)))))
Calls

6 calls:

TimeVariablePoint
6.0ms
d1
0
3.0ms
d1
-inf
3.0ms
d2
-inf
3.0ms
d2
inf
2.0ms
d1
inf

rewrite319.0ms (8.8%)

Memory
14.4MiB live, 200.8MiB allocated; 43ms collecting garbage
Counts
19 → 76
Calls
Call 1
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2))))
(*.f64 d1 #s(approx (+ 30 d2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2)))
d1
#s(approx (+ 30 d2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2)
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2))
#s(literal 1 binary64)
(/.f64 #s(literal 30 binary64) d2)
#s(literal 30 binary64)
d2
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))))
(*.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
(fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2))
(*.f64 #s(literal 30 binary64) #s(literal 30 binary64))
(*.f64 (*.f64 d2 d2) d2)
(*.f64 d2 d2)
(/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))
(fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))
(-.f64 d2 #s(literal 30 binary64))
Outputs
#s(approx (* d1 (+ (+ 20 10) d2)) (*.f64 d1 #s(approx (+ 30 d2) (fma.f64 (/.f64 #s(literal 30 binary64) d2) d2 d2))))
(*.f64 d1 #s(approx (+ 30 d2) (fma.f64 (/.f64 #s(literal 30 binary64) d2) d2 d2)))
d1
(neg.f64 (neg.f64 d1))
#s(approx (+ 30 d2) (fma.f64 (/.f64 #s(literal 30 binary64) d2) d2 d2))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2)
(*.f64 d2 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)))
(*.f64 (fma.f64 #s(literal 30 binary64) (/.f64 #s(literal 30 binary64) (*.f64 d2 d2)) #s(literal 1 binary64)) (/.f64 d2 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2))))
(*.f64 (/.f64 (*.f64 (fma.f64 #s(literal 30 binary64) (/.f64 #s(literal 30 binary64) (*.f64 d2 d2)) #s(literal 1 binary64)) d2) (fma.f64 #s(literal 30 binary64) (/.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 (*.f64 d2 d2) d2)) #s(literal 1 binary64))) (fma.f64 (-.f64 (/.f64 #s(literal 30 binary64) d2) #s(literal 1 binary64)) (/.f64 #s(literal 30 binary64) d2) #s(literal 1 binary64)))
(*.f64 (/.f64 (*.f64 (fma.f64 #s(literal 30 binary64) (/.f64 #s(literal 30 binary64) (*.f64 d2 d2)) #s(literal 1 binary64)) d2) (fma.f64 #s(literal 30 binary64) (/.f64 #s(literal 30 binary64) (*.f64 d2 d2)) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)))
(*.f64 (/.f64 (fma.f64 #s(literal 30 binary64) (/.f64 #s(literal 30 binary64) (*.f64 d2 d2)) #s(literal 1 binary64)) (fma.f64 #s(literal 30 binary64) (/.f64 #s(literal 30 binary64) (*.f64 d2 d2)) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)))
(*.f64 (/.f64 (fma.f64 #s(literal 30 binary64) (/.f64 #s(literal 30 binary64) (*.f64 d2 d2)) #s(literal 1 binary64)) (-.f64 (/.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 d2 d2)) #s(literal 1 binary64))) (-.f64 (/.f64 #s(literal 30 binary64) d2) #s(literal 1 binary64)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2))))
#s(literal 1 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 (/.f64 #s(literal 30 binary64) d2) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2))
(*.f64 (neg.f64 (/.f64 #s(literal 30 binary64) d2)) (neg.f64 #s(literal 1 binary64)))
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 (/.f64 #s(literal 30 binary64) d2)))
(+.f64 (/.f64 #s(literal 30 binary64) d2) (*.f64 (/.f64 #s(literal 30 binary64) d2) #s(literal 0 binary64)))
#s(literal 30 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 30 binary64))
(*.f64 #s(literal 30 binary64) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 1 binary64)) (*.f64 (neg.f64 #s(literal 1 binary64)) #s(literal 30 binary64)))
(/.f64 (*.f64 #s(literal 2 binary64) #s(literal 30 binary64)) #s(literal 2 binary64))
d2
(*.f64 d2 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) d2)
(*.f64 (*.f64 d2 (neg.f64 #s(literal 1 binary64))) (neg.f64 #s(literal 1 binary64)))
(*.f64 (neg.f64 #s(literal 1 binary64)) (*.f64 (neg.f64 #s(literal 1 binary64)) d2))
#s(approx (* d1 (+ (+ 20 10) d2)) (*.f64 (-.f64 d2 #s(literal 30 binary64)) d1))
(*.f64 (-.f64 d2 #s(literal 30 binary64)) d1)
(*.f64 (neg.f64 d1) (-.f64 d2 #s(literal 30 binary64)))
(*.f64 d1 (-.f64 d2 #s(literal 30 binary64)))
(*.f64 (fma.f64 #s(literal 30 binary64) #s(literal 30 binary64) (*.f64 d2 d2)) (/.f64 d1 (-.f64 d2 #s(literal 30 binary64))))
(*.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
(*.f64 (/.f64 (-.f64 d2 #s(literal 30 binary64)) (-.f64 d2 #s(literal 30 binary64))) (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)))
(*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (-.f64 d2 #s(literal 30 binary64)))
(*.f64 (-.f64 d2 #s(literal 30 binary64)) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))
(*.f64 (*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (/.f64 (-.f64 d2 #s(literal 30 binary64)) (-.f64 d2 #s(literal 30 binary64)))) (-.f64 d2 #s(literal 30 binary64)))
(*.f64 (+.f64 (pow.f64 d2 (/.f64 #s(literal 3 binary64) #s(literal 2 binary64))) (pow.f64 #s(literal 30 binary64) (/.f64 #s(literal 3 binary64) #s(literal 2 binary64)))) (-.f64 (pow.f64 d2 (/.f64 #s(literal 3 binary64) #s(literal 2 binary64))) (pow.f64 #s(literal 30 binary64) (/.f64 #s(literal 3 binary64) #s(literal 2 binary64)))))
(*.f64 #s(literal 30 binary64) #s(literal 30 binary64))
(*.f64 (fabs.f64 #s(literal 30 binary64)) (neg.f64 #s(literal 30 binary64)))
(*.f64 (fabs.f64 #s(literal 30 binary64)) #s(literal 30 binary64))
(*.f64 (fabs.f64 #s(literal 30 binary64)) (fabs.f64 #s(literal 30 binary64)))
(*.f64 (neg.f64 #s(literal 30 binary64)) (fabs.f64 #s(literal 30 binary64)))
(*.f64 (*.f64 d2 d2) d2)
(*.f64 (*.f64 d2 d2) (neg.f64 d2))
(*.f64 (*.f64 d2 d2) (fabs.f64 d2))
(*.f64 (fabs.f64 d2) (*.f64 d2 d2))
(*.f64 (neg.f64 d2) (*.f64 d2 d2))
(*.f64 d2 d2)
(*.f64 (fabs.f64 d2) (fabs.f64 d2))
(*.f64 (fabs.f64 d2) (neg.f64 d2))
(*.f64 (fabs.f64 d2) d2)
(*.f64 (neg.f64 d2) (neg.f64 d2))
(*.f64 (/.f64 d1 (fma.f64 (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64))) #s(literal 30 binary64) (pow.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) #s(literal 3 binary64)))) (fma.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
(*.f64 (/.f64 d1 (*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))
(*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (/.f64 d1 (*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))))
(*.f64 (fma.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))) (/.f64 d1 (fma.f64 (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64))) #s(literal 30 binary64) (pow.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) #s(literal 3 binary64)))))
(+.f64 (*.f64 (/.f64 d1 (fma.f64 (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64))) #s(literal 30 binary64) (pow.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) #s(literal 3 binary64)))) (*.f64 (fma.f64 #s(literal 30 binary64) #s(literal 30 binary64) (*.f64 d2 d2)) (*.f64 d2 d2))) (*.f64 (/.f64 d1 (fma.f64 (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64))) #s(literal 30 binary64) (pow.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) #s(literal 3 binary64)))) (*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
(*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (/.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
(*.f64 (/.f64 (*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))) (*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))
(*.f64 (/.f64 (*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))) (fma.f64 (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64))) #s(literal 30 binary64) (pow.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) #s(literal 3 binary64)))) (fma.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
(*.f64 (fma.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))) (/.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (fma.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))))
(*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64))) #s(literal 30 binary64) (pow.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) (+.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 (*.f64 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) #s(literal 2 binary64)))) (fma.f64 (*.f64 (-.f64 d2 #s(literal 30 binary64)) d2) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))) (*.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)))))
(*.f64 (/.f64 (-.f64 d2 #s(literal 30 binary64)) (-.f64 d2 #s(literal 30 binary64))) (-.f64 d2 #s(literal 30 binary64)))
(*.f64 (-.f64 d2 #s(literal 30 binary64)) (/.f64 (-.f64 d2 #s(literal 30 binary64)) (-.f64 d2 #s(literal 30 binary64))))
(*.f64 (neg.f64 (/.f64 (-.f64 d2 #s(literal 30 binary64)) (-.f64 d2 #s(literal 30 binary64)))) (-.f64 d2 #s(literal 30 binary64)))
(*.f64 (/.f64 (fma.f64 #s(literal 30 binary64) #s(literal 30 binary64) (*.f64 d2 d2)) (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2))) (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))
(*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2))) (-.f64 d2 #s(literal 30 binary64)))

eval14.0ms (0.4%)

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

Compiled 5 213 to 816 computations (84.3% saved)

prune11.0ms (0.3%)

Memory
-40.7MiB live, 11.9MiB allocated; 7ms collecting garbage
Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New1271128
Fresh000
Picked112
Done055
Total1287135
Accuracy
100.0%
Counts
135 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
52.6%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(approx (+ (* (* 30 30) 30) (* (* d2 d2) d2)) #s(literal 27000 binary64)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))))
86.2%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 #s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))))
100.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
99.8%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2))))
52.7%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64))))
49.8%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
100.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) #s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))))
Compiler

Compiled 169 to 119 computations (29.6% saved)

regimes29.0ms (0.8%)

Memory
19.6MiB live, 67.1MiB allocated; 2ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
2 → 3
3 → 1
13 → 1
Calls
Call 1
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
Outputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
Call 2
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64))))
Outputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
Call 3
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
Outputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
Call 4
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 d2))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) #s(literal 30 binary64))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) #s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))))
(+.f64 (*.f64 (+.f64 d2 #s(literal 10 binary64)) d1) (*.f64 d1 #s(literal 20 binary64)))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 30 binary64) d2)) d2))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 #s(approx (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))) (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(approx (+ 30 d2) (*.f64 d2 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 30 binary64) (/.f64 #s(literal 1 binary64) d2)))))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(approx (+ (* (* 30 30) 30) (* (* d2 d2) d2)) #s(literal 27000 binary64)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))))
(+.f64 #s(approx (+ (* d1 10) (* d1 d2)) (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 10 binary64) (/.f64 d1 d2))))) (*.f64 d1 #s(literal 20 binary64)))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 (+.f64 d1 (fma.f64 #s(literal 10 binary64) (/.f64 d1 d2) (*.f64 #s(literal 20 binary64) (/.f64 d1 d2))))))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 (fma.f64 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64)) #s(literal 30 binary64) (*.f64 (*.f64 d2 d2) d2)) (/.f64 d1 (fma.f64 (-.f64 d2 #s(literal 30 binary64)) d2 (*.f64 #s(literal 30 binary64) #s(literal 30 binary64))))))
Outputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) #s(approx (* d1 (+ 30 d2)) (fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))))
Calls

12 calls:

4.0ms
d1
4.0ms
d2
4.0ms
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
2.0ms
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
2.0ms
d2
Results
AccuracySegmentsBranch
49.8%1d1
49.8%1(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
49.8%1d2
82.1%3(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
60.3%4d1
98.5%3d2
100.0%1(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
100.0%1d1
100.0%1d2
100.0%1(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
100.0%1d1
100.0%1d2
Compiler

Compiled 348 to 137 computations (60.6% saved)

bsearch54.0ms (1.5%)

Memory
-6.9MiB live, 40.0MiB allocated; 16ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
39.0ms
2.4958974855817202e-8
3573.531024498557
12.0ms
-6035039.395367483
-3.095828172001074e-5
Samples
39.0ms320×0valid
Compiler

Compiled 694 to 574 computations (17.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult!: 4.0ms (66% of total)
ival-add!: 2.0ms (33% of total)
adjust: 0.0ms (0% of total)

derivations1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 113 to 29 computations (74.3% saved)

preprocess43.0ms (1.2%)

Memory
27.0MiB live, 73.2MiB allocated; 4ms collecting garbage
Remove

(negabs d1)

Compiler

Compiled 355 to 169 computations (52.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...