FastMath test2

Time bar (total: 2.4s)

analyze0.0ms (0%)

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 14 to 10 computations (28.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.0s (44.2%)

Results
797.0ms7129×256valid
124.0ms1037×256infinite
12.0ms55×1024valid
9.0ms34×512valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 337.0ms
Operation ival-mult, time spent: 208.0ms, 62.0% of total-time
Operation ival-add, time spent: 111.0ms, 33.0% of total-time
Operation const, time spent: 18.0ms, 5.0% of total-time
Bogosity

preprocess332.0ms (14.1%)

Algorithm
egg-herbie
Rules
2104×fma-neg
1126×fma-define
324×unsub-neg
244×cancel-sign-sub-inv
228×distribute-rgt-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
10-1(5.495897751907109e-146 -29.61144928087458)(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
00-0-#s(literal 10 binary64)
00-0-#s(literal 20 binary64)
00-0-d1
00-0-d2
00-0-(+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2))
00-0-(*.f64 d1 #s(literal 20 binary64))
00-0-(*.f64 d1 d2)
00-0-(*.f64 d1 #s(literal 10 binary64))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032258
193183
2291141
3870133
42085133
53154133
63861133
73891133
83891133
94073133
104073133
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 10 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) #s(literal 20 binary64)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 #s(literal 20 binary64)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 10 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) #s(literal 20 binary64))))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 #s(literal 20 binary64))))
(+.f64 (+.f64 (*.f64 d2 #s(literal 10 binary64)) (*.f64 d2 d1)) (*.f64 d2 #s(literal 20 binary64)))
Outputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (*.f64 d1 (+.f64 #s(literal 10 binary64) d2)) (*.f64 d1 #s(literal 20 binary64)))
(*.f64 d1 (+.f64 (+.f64 #s(literal 10 binary64) d2) #s(literal 20 binary64)))
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (*.f64 d1 (+.f64 #s(literal 10 binary64) d2)) (*.f64 d1 #s(literal 20 binary64)))
(*.f64 d1 (+.f64 (+.f64 #s(literal 10 binary64) d2) #s(literal 20 binary64)))
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 10 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) #s(literal 20 binary64)))
(+.f64 (*.f64 (neg.f64 d1) (+.f64 #s(literal 10 binary64) d2)) (*.f64 #s(literal 20 binary64) (neg.f64 d1)))
(*.f64 (neg.f64 d1) (+.f64 (+.f64 #s(literal 10 binary64) d2) #s(literal 20 binary64)))
(*.f64 (neg.f64 d1) (+.f64 d2 #s(literal 30 binary64)))
(*.f64 d1 (-.f64 #s(literal -30 binary64) d2))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (*.f64 d1 #s(literal 20 binary64)) (*.f64 d1 (+.f64 #s(literal 10 binary64) (neg.f64 d2))))
(*.f64 d1 (+.f64 #s(literal 20 binary64) (-.f64 #s(literal 10 binary64) d2)))
(*.f64 d1 (-.f64 #s(literal 30 binary64) d2))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 10 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) #s(literal 20 binary64))))
(+.f64 (*.f64 d1 (+.f64 #s(literal 10 binary64) d2)) (*.f64 d1 #s(literal 20 binary64)))
(*.f64 d1 (+.f64 (+.f64 #s(literal 10 binary64) d2) #s(literal 20 binary64)))
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 #s(literal 20 binary64))))
(neg.f64 (+.f64 (*.f64 d1 #s(literal 20 binary64)) (*.f64 d1 (+.f64 #s(literal 10 binary64) (neg.f64 d2)))))
(neg.f64 (*.f64 d1 (+.f64 #s(literal 20 binary64) (-.f64 #s(literal 10 binary64) d2))))
(*.f64 (neg.f64 d1) (-.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (-.f64 d2 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 d2 #s(literal -30 binary64)))
(+.f64 (+.f64 (*.f64 d2 #s(literal 10 binary64)) (*.f64 d2 d1)) (*.f64 d2 #s(literal 20 binary64)))
(+.f64 (*.f64 d2 (+.f64 #s(literal 10 binary64) d1)) (*.f64 d2 #s(literal 20 binary64)))
(*.f64 d2 (+.f64 (+.f64 d1 #s(literal 10 binary64)) #s(literal 20 binary64)))
(*.f64 d2 (+.f64 d1 #s(literal 30 binary64)))
Symmetry

(negabs d1)

Compiler

Compiled 81 to 47 computations (42% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
Operation ival-mult, time spent: 24.0ms, 68.0% of total-time
Operation ival-add, time spent: 9.0ms, 25.0% of total-time
Operation const, time spent: 3.0ms, 8.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 23 to 16 computations (30.4% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize31.0ms (1.3%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
Compiler

Compiled 14 to 9 computations (35.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
Operation ival-add, time spent: 3.0ms, 49.0% of total-time
Operation ival-mult, time spent: 2.0ms, 33.0% of total-time
Operation const, time spent: 1.0ms, 16.0% of total-time

series4.0ms (0.2%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))>
Outputs
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 #s(literal 30 binary64) d1)>
#<alt (+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))>
#<alt (+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))>
#<alt (+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))>
#<alt (*.f64 d1 d2)>
#<alt (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))>
#<alt (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))>
#<alt (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))>
#<alt (*.f64 d1 d2)>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))>
Calls

6 calls:

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

rewrite182.0ms (7.7%)

Algorithm
batch-egg-rewrite
Rules
844×unpow-prod-down
515×log1p-expm1-u
515×expm1-log1p-u
498×log-prod
450×prod-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
110619
2142219
Stop Event
node limit
Counts
1 → 53
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
Outputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64)))
(+.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2))
(+.f64 #s(literal 0 binary64) (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))
(+.f64 (*.f64 (*.f64 d1 d2) #s(literal 1 binary64)) (*.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 1 binary64)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1)) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))) #s(literal 1 binary64))
(/.f64 (+.f64 (pow.f64 (*.f64 d1 d2) #s(literal 3 binary64)) (*.f64 (pow.f64 d1 #s(literal 3 binary64)) #s(literal 27000 binary64))) (+.f64 (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64))))))
(/.f64 (-.f64 (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)) (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64))))
(/.f64 (*.f64 d1 (+.f64 (pow.f64 d2 #s(literal 3 binary64)) #s(literal 27000 binary64))) (-.f64 (fma.f64 d2 d2 #s(literal 900 binary64)) (*.f64 d2 #s(literal 30 binary64))))
(/.f64 (*.f64 d1 (fma.f64 d2 d2 #s(literal -900 binary64))) (+.f64 d2 #s(literal -30 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 d2 #s(literal 3 binary64)) #s(literal 27000 binary64)) d1) (-.f64 (fma.f64 d2 d2 #s(literal 900 binary64)) (*.f64 d2 #s(literal 30 binary64))))
(/.f64 (*.f64 (fma.f64 d2 d2 #s(literal -900 binary64)) d1) (+.f64 d2 #s(literal -30 binary64)))
(pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))) (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))))
(sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 2 binary64)))
(log.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))
(cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(log1p.f64 (expm1.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(exp.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 2 binary64)))
(fma.f64 d1 d2 (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 d1 #s(literal 30 binary64) (*.f64 d1 d2))
(fma.f64 d2 d1 (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))
(fma.f64 #s(literal 1 binary64) (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2))
(fma.f64 (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64)) (*.f64 (cbrt.f64 d1) d2) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64)) (*.f64 (cbrt.f64 d1) #s(literal 30 binary64)) (*.f64 d1 d2))
(fma.f64 (pow.f64 (cbrt.f64 d2) #s(literal 2 binary64)) (*.f64 (cbrt.f64 d2) d1) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (sqrt.f64 d1) (*.f64 (sqrt.f64 d1) d2) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (sqrt.f64 d1) (*.f64 (sqrt.f64 d1) #s(literal 30 binary64)) (*.f64 d1 d2))
(fma.f64 (sqrt.f64 d2) (*.f64 (sqrt.f64 d2) d1) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (*.f64 d1 d2) #s(literal 1 binary64) (*.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 1 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 #s(literal 30 binary64))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 d1 #s(literal 30 binary64))) (*.f64 d1 d2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 d2)) #s(literal 2 binary64)) (cbrt.f64 (*.f64 d1 d2)) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (sqrt.f64 (*.f64 d1 #s(literal 30 binary64))) (sqrt.f64 (*.f64 d1 #s(literal 30 binary64))) (*.f64 d1 d2))
(fma.f64 (sqrt.f64 (*.f64 d1 d2)) (sqrt.f64 (*.f64 d1 d2)) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (*.f64 #s(literal 30 binary64) (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64))) (cbrt.f64 d1) (*.f64 d1 d2))
(fma.f64 (*.f64 #s(literal 30 binary64) (sqrt.f64 d1)) (sqrt.f64 d1) (*.f64 d1 d2))
(fma.f64 (*.f64 d1 (pow.f64 (cbrt.f64 d2) #s(literal 2 binary64))) (cbrt.f64 d2) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (*.f64 d1 (sqrt.f64 d2)) (sqrt.f64 d2) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (*.f64 d2 (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64))) (cbrt.f64 d1) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (*.f64 d2 (sqrt.f64 d1)) (sqrt.f64 d1) (*.f64 d1 #s(literal 30 binary64)))

simplify72.0ms (3%)

Algorithm
egg-herbie
Rules
1120×fma-neg
922×associate-*r*
890×fma-define
880×cancel-sign-sub-inv
834×associate-*l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01671789
13671774
29211753
342481749
Stop Event
node limit
Counts
77 → 70
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal 30 binary64) d1)
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(*.f64 d1 d2)
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d1 d2)
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64)))
(+.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2))
(+.f64 #s(literal 0 binary64) (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))
(+.f64 (*.f64 (*.f64 d1 d2) #s(literal 1 binary64)) (*.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 1 binary64)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1)) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))) #s(literal 1 binary64))
(/.f64 (+.f64 (pow.f64 (*.f64 d1 d2) #s(literal 3 binary64)) (*.f64 (pow.f64 d1 #s(literal 3 binary64)) #s(literal 27000 binary64))) (+.f64 (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64))))))
(/.f64 (-.f64 (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)) (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64))))
(/.f64 (*.f64 d1 (+.f64 (pow.f64 d2 #s(literal 3 binary64)) #s(literal 27000 binary64))) (-.f64 (fma.f64 d2 d2 #s(literal 900 binary64)) (*.f64 d2 #s(literal 30 binary64))))
(/.f64 (*.f64 d1 (fma.f64 d2 d2 #s(literal -900 binary64))) (+.f64 d2 #s(literal -30 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 d2 #s(literal 3 binary64)) #s(literal 27000 binary64)) d1) (-.f64 (fma.f64 d2 d2 #s(literal 900 binary64)) (*.f64 d2 #s(literal 30 binary64))))
(/.f64 (*.f64 (fma.f64 d2 d2 #s(literal -900 binary64)) d1) (+.f64 d2 #s(literal -30 binary64)))
(pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))) (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))))
(sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 2 binary64)))
(log.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))
(cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(log1p.f64 (expm1.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(exp.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 2 binary64)))
(fma.f64 d1 d2 (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 d1 #s(literal 30 binary64) (*.f64 d1 d2))
(fma.f64 d2 d1 (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))
(fma.f64 #s(literal 1 binary64) (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2))
(fma.f64 (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64)) (*.f64 (cbrt.f64 d1) d2) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64)) (*.f64 (cbrt.f64 d1) #s(literal 30 binary64)) (*.f64 d1 d2))
(fma.f64 (pow.f64 (cbrt.f64 d2) #s(literal 2 binary64)) (*.f64 (cbrt.f64 d2) d1) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (sqrt.f64 d1) (*.f64 (sqrt.f64 d1) d2) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (sqrt.f64 d1) (*.f64 (sqrt.f64 d1) #s(literal 30 binary64)) (*.f64 d1 d2))
(fma.f64 (sqrt.f64 d2) (*.f64 (sqrt.f64 d2) d1) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (*.f64 d1 d2) #s(literal 1 binary64) (*.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 1 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 #s(literal 30 binary64))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 d1 #s(literal 30 binary64))) (*.f64 d1 d2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 d2)) #s(literal 2 binary64)) (cbrt.f64 (*.f64 d1 d2)) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (sqrt.f64 (*.f64 d1 #s(literal 30 binary64))) (sqrt.f64 (*.f64 d1 #s(literal 30 binary64))) (*.f64 d1 d2))
(fma.f64 (sqrt.f64 (*.f64 d1 d2)) (sqrt.f64 (*.f64 d1 d2)) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (*.f64 #s(literal 30 binary64) (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64))) (cbrt.f64 d1) (*.f64 d1 d2))
(fma.f64 (*.f64 #s(literal 30 binary64) (sqrt.f64 d1)) (sqrt.f64 d1) (*.f64 d1 d2))
(fma.f64 (*.f64 d1 (pow.f64 (cbrt.f64 d2) #s(literal 2 binary64))) (cbrt.f64 d2) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (*.f64 d1 (sqrt.f64 d2)) (sqrt.f64 d2) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (*.f64 d2 (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64))) (cbrt.f64 d1) (*.f64 d1 #s(literal 30 binary64)))
(fma.f64 (*.f64 d2 (sqrt.f64 d1)) (sqrt.f64 d1) (*.f64 d1 #s(literal 30 binary64)))
Outputs
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal 30 binary64) d1)
(*.f64 d1 #s(literal 30 binary64))
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 d2)
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 d2)
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 #s(literal 0 binary64) (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (*.f64 (*.f64 d1 d2) #s(literal 1 binary64)) (*.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 1 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1)) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 #s(literal 30 binary64) d2)) d1)) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 #s(literal 30 binary64) d2)) d1))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 #s(literal 30 binary64) d2)) d1))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))) #s(literal 1 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(/.f64 (+.f64 (pow.f64 (*.f64 d1 d2) #s(literal 3 binary64)) (*.f64 (pow.f64 d1 #s(literal 3 binary64)) #s(literal 27000 binary64))) (+.f64 (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64))))))
(/.f64 (*.f64 (pow.f64 d1 #s(literal 3 binary64)) (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)) (*.f64 (*.f64 d1 #s(literal 30 binary64)) (-.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2)))))
(*.f64 (pow.f64 d1 #s(literal 3 binary64)) (/.f64 (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64))) (fma.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 (-.f64 #s(literal 30 binary64) d2)) (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)))))
(*.f64 (pow.f64 d1 #s(literal 3 binary64)) (/.f64 (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64))) (*.f64 d1 (-.f64 (*.f64 d1 #s(literal 900 binary64)) (*.f64 (*.f64 d1 d2) (-.f64 #s(literal 30 binary64) d2))))))
(/.f64 (-.f64 (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)) (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(/.f64 (*.f64 d1 (+.f64 (pow.f64 d2 #s(literal 3 binary64)) #s(literal 27000 binary64))) (-.f64 (fma.f64 d2 d2 #s(literal 900 binary64)) (*.f64 d2 #s(literal 30 binary64))))
(*.f64 d1 (/.f64 (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64))) (-.f64 (fma.f64 d2 d2 #s(literal 900 binary64)) (*.f64 #s(literal 30 binary64) d2))))
(/.f64 (*.f64 d1 (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64)))) (fma.f64 d2 #s(literal -30 binary64) (fma.f64 d2 d2 #s(literal 900 binary64))))
(/.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)))))
(/.f64 (*.f64 d1 (fma.f64 d2 d2 #s(literal -900 binary64))) (+.f64 d2 #s(literal -30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(/.f64 (*.f64 (+.f64 (pow.f64 d2 #s(literal 3 binary64)) #s(literal 27000 binary64)) d1) (-.f64 (fma.f64 d2 d2 #s(literal 900 binary64)) (*.f64 d2 #s(literal 30 binary64))))
(*.f64 d1 (/.f64 (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64))) (-.f64 (fma.f64 d2 d2 #s(literal 900 binary64)) (*.f64 #s(literal 30 binary64) d2))))
(/.f64 (*.f64 d1 (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64)))) (fma.f64 d2 #s(literal -30 binary64) (fma.f64 d2 d2 #s(literal 900 binary64))))
(/.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)))))
(/.f64 (*.f64 (fma.f64 d2 d2 #s(literal -900 binary64)) d1) (+.f64 d2 #s(literal -30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 1 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))) #s(literal 3 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))) #s(literal 2 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (E.f64) (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))) (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))) (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 2 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(log.f64 (pow.f64 (exp.f64 (+.f64 d2 #s(literal 30 binary64))) d1))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))) #s(literal 3 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(expm1.f64 (log1p.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(log1p.f64 (expm1.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(exp.f64 (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 3 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 1/3 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 #s(literal 30 binary64))))) #s(literal 2 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 d1 d2 (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 d1 #s(literal 30 binary64) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 d2 d1 (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 #s(literal 30 binary64) d1 (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 #s(literal 1 binary64) (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 #s(literal 1 binary64) (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64)) (*.f64 (cbrt.f64 d1) d2) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64)) (*.f64 (cbrt.f64 d1) #s(literal 30 binary64)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (pow.f64 (cbrt.f64 d2) #s(literal 2 binary64)) (*.f64 (cbrt.f64 d2) d1) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (sqrt.f64 d1) (*.f64 (sqrt.f64 d1) d2) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (sqrt.f64 d1) (*.f64 (sqrt.f64 d1) #s(literal 30 binary64)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (sqrt.f64 d2) (*.f64 (sqrt.f64 d2) d1) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (*.f64 d1 d2) #s(literal 1 binary64) (*.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 1 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 #s(literal 30 binary64))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 d1 #s(literal 30 binary64))) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 d2)) #s(literal 2 binary64)) (cbrt.f64 (*.f64 d1 d2)) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (sqrt.f64 (*.f64 d1 #s(literal 30 binary64))) (sqrt.f64 (*.f64 d1 #s(literal 30 binary64))) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (sqrt.f64 (*.f64 d1 d2)) (sqrt.f64 (*.f64 d1 d2)) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (*.f64 #s(literal 30 binary64) (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64))) (cbrt.f64 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (*.f64 #s(literal 30 binary64) (sqrt.f64 d1)) (sqrt.f64 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (*.f64 d1 (pow.f64 (cbrt.f64 d2) #s(literal 2 binary64))) (cbrt.f64 d2) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (*.f64 d1 (sqrt.f64 d2)) (sqrt.f64 d2) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (*.f64 d2 (pow.f64 (cbrt.f64 d1) #s(literal 2 binary64))) (cbrt.f64 d1) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(fma.f64 (*.f64 d2 (sqrt.f64 d1)) (sqrt.f64 d1) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))

eval16.0ms (0.7%)

Compiler

Compiled 799 to 502 computations (37.2% saved)

prune13.0ms (0.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New67370
Fresh000
Picked011
Done000
Total67471
Accuracy
100.0%
Counts
71 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 d1 #s(literal 30 binary64) (*.f64 d1 d2))
100.0%
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
54.1%
(*.f64 d1 d2)
47.5%
(*.f64 d1 #s(literal 30 binary64))
Compiler

Compiled 25 to 17 computations (32% saved)

localize44.0ms (1.9%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(fma.f64 d1 #s(literal 30 binary64) (*.f64 d1 d2))
Compiler

Compiled 25 to 10 computations (60% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
Operation ival-mult, time spent: 6.0ms, 48.0% of total-time
Operation composed, time spent: 4.0ms, 32.0% of total-time
Operation ival-add, time spent: 2.0ms, 16.0% of total-time
Operation const, time spent: 1.0ms, 8.0% of total-time

series6.0ms (0.2%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (fma.f64 d1 #s(literal 30 binary64) (*.f64 d1 d2))>
Outputs
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))>
#<alt (*.f64 #s(literal 30 binary64) d1)>
#<alt (+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))>
#<alt (+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))>
#<alt (+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))>
#<alt (*.f64 d1 d2)>
#<alt (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))>
#<alt (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))>
#<alt (*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))>
#<alt (*.f64 d1 d2)>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))>
Calls

6 calls:

TimeVariablePointExpression
2.0ms
d1
@0
(+ (* d1 30) (* d1 d2))
1.0ms
d2
@0
(+ (* d1 30) (* d1 d2))
1.0ms
d1
@inf
(+ (* d1 30) (* d1 d2))
0.0ms
d1
@-inf
(+ (* d1 30) (* d1 d2))
0.0ms
d2
@inf
(+ (* d1 30) (* d1 d2))

rewrite66.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
664×unpow-prod-down
412×log-prod
404×cbrt-prod
357×log1p-expm1-u
357×expm1-log1p-u
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01124
18819
297319
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(fma.f64 d1 #s(literal 30 binary64) (*.f64 d1 d2))
Outputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64)))
(+.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2))
(+.f64 #s(literal 0 binary64) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(+.f64 (*.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 1 binary64)) (*.f64 d1 d2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 1 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 1 binary64))
(*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) (log.f64 (E.f64)))
(*.f64 #s(literal 1 binary64) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(*.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(*.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 3 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64))) #s(literal 1/3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (pow.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))) (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 5/2 binary64))) (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(/.f64 (+.f64 (*.f64 (pow.f64 d1 #s(literal 3 binary64)) #s(literal 27000 binary64)) (pow.f64 (*.f64 d1 d2) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)) (*.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64))) (-.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2)))
(pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))) (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 2 binary64)))
(log.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))
(cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(log1p.f64 (expm1.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(exp.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64)))

simplify79.0ms (3.4%)

Algorithm
egg-herbie
Rules
1284×times-frac
1050×associate-*r*
706×fma-neg
698×fma-define
624×associate-/l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01351803
12821756
28771731
339331729
Stop Event
node limit
Counts
65 → 57
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))
(*.f64 #s(literal 30 binary64) d1)
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(*.f64 d1 d2)
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d1 d2)
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64)))
(+.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2))
(+.f64 #s(literal 0 binary64) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(+.f64 (*.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 1 binary64)) (*.f64 d1 d2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 1 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 1 binary64))
(*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) (log.f64 (E.f64)))
(*.f64 #s(literal 1 binary64) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(*.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(*.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 3 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64))) #s(literal 1/3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (pow.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))) (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 5/2 binary64))) (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(/.f64 (+.f64 (*.f64 (pow.f64 d1 #s(literal 3 binary64)) #s(literal 27000 binary64)) (pow.f64 (*.f64 d1 d2) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)) (*.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64))) (-.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2)))
(pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))) (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 2 binary64)))
(log.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))
(cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(log1p.f64 (expm1.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(exp.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64)))
Outputs
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal -1 binary64) (*.f64 d1 (-.f64 (*.f64 #s(literal -1 binary64) d2) #s(literal 30 binary64))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal 30 binary64) d1)
(*.f64 d1 #s(literal 30 binary64))
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (*.f64 #s(literal 30 binary64) d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 d2)
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d2 (+.f64 d1 (*.f64 #s(literal 30 binary64) (/.f64 d1 d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 d2)
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal -1 binary64) (*.f64 d2 (+.f64 (*.f64 #s(literal -30 binary64) (/.f64 d1 d2)) (*.f64 #s(literal -1 binary64) d1))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 #s(literal 0 binary64) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (*.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 1 binary64)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 1 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 1 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) (log.f64 (E.f64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 #s(literal 1 binary64) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 3 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64))) #s(literal 1/3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64))) #s(literal 1/3 binary64)))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))) (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))))
(*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 3 binary64))) (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 3 binary64))))
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 d1 (*.f64 (+.f64 #s(literal 30 binary64) d2) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 4 binary64)) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 8 binary64))) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (pow.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 5/2 binary64))) (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))) (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))))
(*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 3 binary64))) (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 3 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 d1 (*.f64 (+.f64 #s(literal 30 binary64) d2) (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 4 binary64)) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 8 binary64))) (cbrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 5/2 binary64))) (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(/.f64 (+.f64 (*.f64 (pow.f64 d1 #s(literal 3 binary64)) #s(literal 27000 binary64)) (pow.f64 (*.f64 d1 d2) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64)) (*.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2)))))
(/.f64 (fma.f64 (pow.f64 d1 #s(literal 3 binary64)) #s(literal 27000 binary64) (pow.f64 (*.f64 d1 d2) #s(literal 3 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64))) (*.f64 d1 (*.f64 #s(literal 30 binary64) (*.f64 d1 d2)))))
(/.f64 (*.f64 (pow.f64 d1 #s(literal 3 binary64)) (+.f64 (pow.f64 d2 #s(literal 3 binary64)) #s(literal 27000 binary64))) (+.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 d1 d2) (-.f64 (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64))))))
(/.f64 (*.f64 (pow.f64 d1 #s(literal 3 binary64)) (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64)))) (fma.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d2 #s(literal -30 binary64))) (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 (pow.f64 d1 #s(literal 3 binary64)) (+.f64 #s(literal 27000 binary64) (pow.f64 d2 #s(literal 3 binary64)))) (*.f64 d1 (+.f64 (*.f64 d1 #s(literal 900 binary64)) (*.f64 d2 (*.f64 d1 (+.f64 d2 #s(literal -30 binary64)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 d1 #s(literal 30 binary64)) #s(literal 2 binary64)) (pow.f64 (*.f64 d1 d2) #s(literal 2 binary64))) (-.f64 (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 1 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 3 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))) #s(literal 2 binary64))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (E.f64) (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))) (sqrt.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))))
(sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 2 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(log.f64 (pow.f64 (exp.f64 d1) (+.f64 #s(literal 30 binary64) d2)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)) #s(literal 3 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(expm1.f64 (log1p.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(log1p.f64 (expm1.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(exp.f64 (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2))))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 3 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 1/3 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 d1 (+.f64 #s(literal 30 binary64) d2)))) #s(literal 2 binary64)))
(*.f64 d1 (+.f64 #s(literal 30 binary64) d2))

eval16.0ms (0.7%)

Compiler

Compiled 742 to 524 computations (29.4% saved)

prune10.0ms (0.4%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New57057
Fresh000
Picked033
Done011
Total57461
Accuracy
100.0%
Counts
61 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 d1 #s(literal 30 binary64) (*.f64 d1 d2))
100.0%
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
54.1%
(*.f64 d1 d2)
47.5%
(*.f64 d1 #s(literal 30 binary64))
Compiler

Compiled 55 to 33 computations (40% saved)

regimes7.0ms (0.3%)

Counts
5 → 1
Calls
Call 1
Inputs
(*.f64 d1 #s(literal 30 binary64))
(*.f64 d1 d2)
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(fma.f64 d1 #s(literal 30 binary64) (*.f64 d1 d2))
Outputs
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
Calls

3 calls:

2.0ms
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
2.0ms
d1
2.0ms
d2
Results
AccuracySegmentsBranch
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)))
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes10.0ms (0.4%)

Counts
2 → 3
Calls
Call 1
Inputs
(*.f64 d1 #s(literal 30 binary64))
(*.f64 d1 d2)
Outputs
(*.f64 d1 d2)
(*.f64 d1 #s(literal 30 binary64))
(*.f64 d1 d2)
Calls

2 calls:

7.0ms
d1
3.0ms
d2
Results
AccuracySegmentsBranch
69.9%12d1
97.5%3d2
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes3.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 d1 #s(literal 30 binary64))
Outputs
(*.f64 d1 #s(literal 30 binary64))
Calls

2 calls:

1.0ms
d2
1.0ms
d1
Results
AccuracySegmentsBranch
47.5%1d1
47.5%1d2
Compiler

Compiled 6 to 4 computations (33.3% saved)

bsearch37.0ms (1.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
28.344542766885045
854892173928.8291
13.0ms
-58.528159864038464
-29.61144928087458
Results
30.0ms223×256valid
0.0ms256valid
Compiler

Compiled 186 to 139 computations (25.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
Operation ival-mult, time spent: 5.0ms, 65.0% of total-time
Operation ival-add, time spent: 2.0ms, 26.0% of total-time
Operation const, time spent: 1.0ms, 13.0% of total-time

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
if-if-or-not
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02083
12983
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(if (<=.f64 d2 #s(literal -30 binary64)) (*.f64 d1 d2) (if (<=.f64 d2 #s(literal 30 binary64)) (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2)))
(*.f64 d1 #s(literal 30 binary64))
Outputs
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(if (<=.f64 d2 #s(literal -30 binary64)) (*.f64 d1 d2) (if (<=.f64 d2 #s(literal 30 binary64)) (*.f64 d1 #s(literal 30 binary64)) (*.f64 d1 d2)))
(if (or (<=.f64 d2 #s(literal -30 binary64)) (not (<=.f64 d2 #s(literal 30 binary64)))) (*.f64 d1 d2) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 d1 #s(literal 30 binary64))
Compiler

Compiled 29 to 21 computations (27.6% saved)

soundness340.0ms (14.4%)

Rules
2104×fma-neg
1126×fma-define
1120×fma-neg
922×associate-*r*
890×fma-define
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01671789
13671774
29211753
342481749
032258
193183
2291141
3870133
42085133
53154133
63861133
73891133
83891133
94073133
104073133
Stop Event
saturated
node limit
Compiler

Compiled 56 to 39 computations (30.4% saved)

end0.0ms (0%)

preprocess43.0ms (1.8%)

Remove

(negabs d1)

Compiler

Compiled 132 to 92 computations (30.3% saved)

Profiling

Loading profile data...