math.cos on complex, real part

Time bar (total: 4.6s)

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 11 computations (21.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-exp, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-cos, 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
Operation ival-neg, time spent: 0.0ms, 0.0% of total-time

sample1.8s (39.4%)

Results
888.0ms4212×256infinite
755.0ms4043×256valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 731.0ms
Operation ival-cos, time spent: 291.0ms, 40.0% of total-time
Operation ival-exp, time spent: 187.0ms, 26.0% of total-time
Operation ival-mult, time spent: 145.0ms, 20.0% of total-time
Operation ival-add, time spent: 49.0ms, 7.0% of total-time
Operation ival-neg, time spent: 45.0ms, 6.0% of total-time
Operation const, time spent: 14.0ms, 2.0% of total-time
Bogosity

preprocess307.0ms (6.7%)

Algorithm
egg-herbie
Rules
1660×fma-define
824×fma-neg
204×times-frac
192×associate-*r*
174×distribute-lft-neg-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(exp.f64 im)
00-0-(neg.f64 im)
01(2.9210715183529425e+183 243.02811610941674)0-(exp.f64 (neg.f64 im))
00-0-(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
00-0-(*.f64 1/2 (cos.f64 re))
00-0-(cos.f64 re)
00-0-im
00-0-1/2
00-0-(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
00-0-re
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
exp.f64(exp.f64 (neg.f64 im))sensitivity10
Confusion
Predicted +Predicted -
+00
-1255
Precision
0.0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-10255
Precision?
0.0
Recall?
0/0
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
032316
1100308
2280308
3673298
41117294
51661294
62231294
72749294
82903294
92917294
102917294
112917294
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) -1/2))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) -1/2))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs re)

(abs im)

Compiler

Compiled 98 to 48 computations (51% saved)

Precisions
Click to see histograms. Total time spent on operations: 49.0ms
Operation ival-mult, time spent: 18.0ms, 37.0% of total-time
Operation ival-cos, time spent: 14.0ms, 29.0% of total-time
Operation ival-exp, time spent: 7.0ms, 14.0% of total-time
Operation ival-neg, time spent: 4.0ms, 8.0% of total-time
Operation ival-add, time spent: 3.0ms, 6.0% of total-time
Operation const, time spent: 2.0ms, 4.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize68.0ms (1.5%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 36 to 14 computations (61.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
Operation ival-cos, time spent: 7.0ms, 35.0% of total-time
Operation ival-mult, time spent: 6.0ms, 30.0% of total-time
Operation ival-exp, time spent: 3.0ms, 15.0% of total-time
Operation ival-add, time spent: 1.0ms, 5.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time
Operation ival-neg, time spent: 1.0ms, 5.0% of total-time

series7.0ms (0.2%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))>
Outputs
#<alt (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))>
#<alt (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/48 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))>
#<alt (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (cos.f64 re)>
#<alt (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))>
#<alt (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 1/2 (cos.f64 re)))))>
#<alt (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 1/24 (cos.f64 re)))))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))>
#<alt (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))>
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@inf
(* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)))
1.0ms
re
@0
(* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)))
1.0ms
re
@inf
(* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)))
1.0ms
im
@-inf
(* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)))
1.0ms
re
@-inf
(* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)))

rewrite143.0ms (3.1%)

Algorithm
batch-egg-rewrite
Rules
200×associate-*r*
128×associate-*l*
90×add-exp-log
90×add-log-exp
90×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01644
120244
2330644
Stop Event
unsound
Counts
1 → 22
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))

simplify57.0ms (1.2%)

Algorithm
egg-herbie
Rules
1522×distribute-lft-in
1452×associate-+r+
1446×distribute-rgt-in
856×fma-define
668×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0981761
12881603
29571418
335441359
Stop Event
node limit
Counts
46 → 68
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/48 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 1/2 (cos.f64 re)))))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 1/24 (cos.f64 re)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
Outputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/48 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) 1/48))))
(fma.f64 (pow.f64 re 2) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 -1/4 (*.f64 (pow.f64 re 2) 1/48))) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (pow.f64 re 2) 1/2) (*.f64 (fma.f64 (exp.f64 im) 1/48 (/.f64 1/48 (exp.f64 im))) (pow.f64 re 4)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) 1/48 -1/4))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/48))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 2) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 2) -1/1440) 1/48)))))
(fma.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (pow.f64 re 2) 1/2) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (fma.f64 (pow.f64 re 2) -1/1440 1/48) (pow.f64 re 4))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (fma.f64 (pow.f64 re 2) -1/1440 1/48) (pow.f64 re 4)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 1/2 (cos.f64 re)))))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/24) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (fma.f64 1/2 (pow.f64 im 2) 1)))
(*.f64 (cos.f64 re) (+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (pow.f64 im 4) 1/24)))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 1/24 (cos.f64 re)))))))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (fma.f64 1/2 (cos.f64 re) (*.f64 (pow.f64 im 2) (fma.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) 1/24))))))
(fma.f64 (pow.f64 im 2) (fma.f64 1/2 (cos.f64 re) (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/720) 1/24)))) (cos.f64 re))
(fma.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (fma.f64 (pow.f64 im 2) 1/720 1/24) (pow.f64 im 4))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (fma.f64 (pow.f64 im 2) 1/720 1/24) (pow.f64 im 4)) (fma.f64 1/2 (pow.f64 im 2) 1)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) -4)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(*.f64 (cos.f64 re) (/.f64 -2 (fma.f64 (cos.f64 re) -2 0)))
(*.f64 (cos.f64 re) (/.f64 -2 (*.f64 (cos.f64 re) -2)))
1
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) (/.f64 -2 (fma.f64 (cos.f64 re) -2 0)))
(*.f64 (cos.f64 re) (/.f64 -2 (*.f64 (cos.f64 re) -2)))
1
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(*.f64 (fabs.f64 (cos.f64 re)) 2)
(*.f64 2 (fabs.f64 (cos.f64 re)))
(log.f64 (pow.f64 1 (cos.f64 re)))
0
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (*.f64 (cos.f64 re) -2) (exp.f64 -2))
(*.f64 (cos.f64 re) (*.f64 -2 (exp.f64 -2)))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) -4)
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) -4)

eval17.0ms (0.4%)

Compiler

Compiled 928 to 512 computations (44.8% saved)

prune18.0ms (0.4%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New61768
Fresh000
Picked011
Done000
Total61869
Accuracy
100.0%
Counts
69 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.6%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
77.8%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
11.0%
(*.f64 2 (cos.f64 re))
62.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
51.6%
(cos.f64 re)
26.6%
1
2.4%
0
Compiler

Compiled 105 to 88 computations (16.2% saved)

localize91.0ms (2%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
Compiler

Compiled 48 to 31 computations (35.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
Operation ival-pow, time spent: 13.0ms, 37.0% of total-time
Operation ival-mult, time spent: 9.0ms, 26.0% of total-time
Operation ival-cos, time spent: 7.0ms, 20.0% of total-time
Operation ival-add, time spent: 3.0ms, 9.0% of total-time
Operation const, time spent: 3.0ms, 9.0% of total-time

series4.0ms (0.1%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))>
Outputs
#<alt (cos.f64 re)>
#<alt (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))>
#<alt (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))>
#<alt (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))>
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))>
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))>
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))>
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))>
#<alt (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))>
#<alt (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))>
#<alt (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))))))>
#<alt (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/24 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))))))>
#<alt (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))>
#<alt (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))>
#<alt (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))>
#<alt (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))>
#<alt (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))>
#<alt (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))>
#<alt (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))>
#<alt (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))>
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(* (+ (* 1/2 (pow im 2)) 1) (cos re))
1.0ms
re
@0
(* (+ (* 1/2 (pow im 2)) 1) (cos re))
1.0ms
im
@inf
(* (+ (* 1/2 (pow im 2)) 1) (cos re))
1.0ms
im
@0
(* (+ (* 1/2 (pow im 2)) 1) (cos re))
0.0ms
re
@-inf
(* (+ (* 1/2 (pow im 2)) 1) (cos re))

rewrite85.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1280×unpow-prod-down
732×log-prod
668×log1p-expm1-u
668×expm1-log1p-u
470×prod-diff
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01631
116731
2193131
Stop Event
node limit
Counts
1 → 39
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
Outputs
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 0 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) 1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 2))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))

simplify103.0ms (2.2%)

Algorithm
egg-herbie
Rules
998×associate-*r*
920×fma-define
862×times-frac
838×associate-*l*
654×unswap-sqr
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01352382
12982340
28782294
342112275
458742275
Stop Event
node limit
Counts
63 → 72
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/24 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 0 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) 1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 2))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (pow.f64 re 2) (+.f64 -1/2 (*.f64 (pow.f64 im 2) -1/4))))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))))))
(+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (pow.f64 re 2) (fma.f64 -1/2 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 1/24 (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 -1/2 (*.f64 (pow.f64 re 2) 1/24))))))
(fma.f64 1/2 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 (pow.f64 re 2) 1/24 -1/2)) 1))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/24 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))))))
(+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (pow.f64 re 2) (fma.f64 -1/2 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (pow.f64 re 2) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (pow.f64 re 2)) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1/24))))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (*.f64 (pow.f64 re 2) -1/720) 1/24)) (+.f64 -1/2 (*.f64 (pow.f64 im 2) -1/4))))))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (fma.f64 (pow.f64 re 2) -1/720 1/24) (pow.f64 re 4))) (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) -1/720 1/24)))) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 0 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) 1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 (cos.f64 re) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) 1/8 1)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 2) -1/2 (fma.f64 (pow.f64 im 4) 1/4 1))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (pow.f64 im 2) -1)))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 (cos.f64 re) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) 1/8 1)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 2) -1/2 (fma.f64 (pow.f64 im 4) 1/4 1))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (pow.f64 im 2) -1)))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) -1)))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1/3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))

eval54.0ms (1.2%)

Compiler

Compiled 1214 to 891 computations (26.6% saved)

prune13.0ms (0.3%)

Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New70272
Fresh112
Picked055
Done011
Total71980
Accuracy
100.0%
Counts
80 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
44.0%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
77.8%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
29.5%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
11.0%
(*.f64 2 (cos.f64 re))
62.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
51.6%
(cos.f64 re)
26.6%
1
2.4%
0
Compiler

Compiled 70 to 58 computations (17.1% saved)

localize171.0ms (3.7%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.9%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Compiler

Compiled 67 to 39 computations (41.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 104.0ms
Operation ival-pow, time spent: 70.0ms, 67.0% of total-time
Operation ival-mult, time spent: 13.0ms, 12.0% of total-time
Operation ival-cos, time spent: 7.0ms, 7.0% of total-time
Operation ival-exp, time spent: 4.0ms, 4.0% of total-time
Operation ival-add, time spent: 4.0ms, 4.0% of total-time
Operation const, time spent: 3.0ms, 3.0% of total-time
Operation ival-neg, time spent: 3.0ms, 3.0% of total-time

series5.0ms (0.1%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))>
Outputs
#<alt (*.f64 1/2 (pow.f64 im 2))>
#<alt (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))>
#<alt (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 2))))))>
#<alt (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/48 (pow.f64 im 2)))))))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))>
Calls

6 calls:

TimeVariablePointExpression
2.0ms
re
@inf
(* (cos re) (* 1/2 (pow im 2)))
1.0ms
im
@0
(* (cos re) (* 1/2 (pow im 2)))
1.0ms
re
@-inf
(* (cos re) (* 1/2 (pow im 2)))
1.0ms
re
@0
(* (cos re) (* 1/2 (pow im 2)))
1.0ms
im
@inf
(* (cos re) (* 1/2 (pow im 2)))

rewrite72.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1074×unpow-prod-down
634×log-prod
506×log1p-expm1-u
506×expm1-log1p-u
466×exp-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01429
113029
2145429
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Outputs
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2)))) 2))

simplify112.0ms (2.5%)

Algorithm
egg-herbie
Rules
1420×fma-neg
1358×fma-define
1176×associate-*r*
1106×div-sub
1026×distribute-lft-out
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0921687
11791687
24361647
312121616
433071605
548941605
668851605
Stop Event
node limit
Counts
45 → 48
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 2))))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/48 (pow.f64 im 2)))))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2)))) 2))
Outputs
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (*.f64 (pow.f64 im 2) -1/4) (pow.f64 re 2) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 2))))))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) (*.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) 1/48))))
(fma.f64 (pow.f64 re 2) (fma.f64 (*.f64 (pow.f64 im 2) 1/48) (pow.f64 re 2) (*.f64 (pow.f64 im 2) -1/4)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 2) (+.f64 -1/4 (*.f64 (pow.f64 re 2) 1/48)))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) 1/48 -1/4))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/48 (pow.f64 im 2)))))))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/48))))))
(fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) 1/48 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/1440))) (*.f64 (pow.f64 im 2) -1/4)) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) (+.f64 1/48 (*.f64 (pow.f64 re 2) -1/1440))) (pow.f64 re 4)) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(fma.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 (fma.f64 (pow.f64 re 2) -1/1440 1/48) (pow.f64 re 4))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 4) (fma.f64 (pow.f64 re 2) -1/1440 1/48)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (pow.f64 im 2) (+.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (*.f64 (pow.f64 re 4) (fma.f64 (pow.f64 re 2) -1/1440 1/48))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4) 1/2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) 4))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6) 1/3)
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) 6))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(pow.f64 (E.f64) (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(pow.f64 (E.f64) (log.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) 4))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) 6))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6)) 1/3))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) 6))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2)))) 2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))

eval17.0ms (0.4%)

Compiler

Compiled 762 to 569 computations (25.3% saved)

prune11.0ms (0.2%)

Pruning

11 alts after pruning (2 fresh and 9 done)

PrunedKeptTotal
New46248
Fresh000
Picked033
Done066
Total461157
Accuracy
100.0%
Counts
57 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
44.0%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
25.1%
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
77.8%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
29.5%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
11.0%
(*.f64 2 (cos.f64 re))
20.5%
(*.f64 1/2 (pow.f64 im 2))
62.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
51.6%
(cos.f64 re)
26.6%
1
2.4%
0
Compiler

Compiled 90 to 75 computations (16.7% saved)

localize97.0ms (2.1%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
87.2%
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
Compiler

Compiled 48 to 37 computations (22.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 43.0ms
Operation ival-pow, time spent: 27.0ms, 63.0% of total-time
Operation ival-mult, time spent: 11.0ms, 26.0% of total-time
Operation ival-add, time spent: 3.0ms, 7.0% of total-time
Operation const, time spent: 3.0ms, 7.0% of total-time

series5.0ms (0.1%)

Counts
2 → 21
Calls
Call 1
Inputs
#<alt (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))>
#<alt (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))>
Outputs
#<alt (*.f64 1/2 (pow.f64 im 2))>
#<alt (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))>
#<alt (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))>
#<alt (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))>
#<alt (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))>
#<alt (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))>
#<alt (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))>
#<alt (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))>
#<alt (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))>
#<alt (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))>
#<alt (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))>
#<alt (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))>
#<alt 1/2>
#<alt (*.f64 -1/4 (pow.f64 re 2))>
#<alt (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))>
#<alt (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))>
#<alt (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))>
#<alt (*.f64 -1/4 (pow.f64 re 2))>
#<alt (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))>
#<alt (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))>
#<alt (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))>
Calls

9 calls:

TimeVariablePointExpression
1.0ms
im
@0
(* (pow im 2) (+ 1/2 (* -1/4 (pow re 2))))
1.0ms
re
@inf
(* (pow im 2) (+ 1/2 (* -1/4 (pow re 2))))
1.0ms
im
@inf
(* (pow im 2) (+ 1/2 (* -1/4 (pow re 2))))
0.0ms
re
@0
(* (pow im 2) (+ 1/2 (* -1/4 (pow re 2))))
0.0ms
re
@-inf
(* (pow im 2) (+ 1/2 (* -1/4 (pow re 2))))

rewrite103.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1400×unpow-prod-down
788×log-prod
739×log1p-expm1-u
739×expm1-log1p-u
586×prod-diff
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01559
117151
2216051
Stop Event
node limit
Counts
2 → 120
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
Outputs
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 1)
(/.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 6) -1/64))) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))) (fma.f64 (pow.f64 im 2) 1/2 (neg.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))))
(/.f64 (*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 6) -1/64 1/8)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (pow.f64 im 2)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (pow.f64 im 2)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (exp.f64 (*.f64 (pow.f64 im 2) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 2))
(fma.f64 im (*.f64 im 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 im (*.f64 im (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 re 2) (*.f64 -1/4 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 1 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) 1 (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2))) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))) (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (sqrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (*.f64 re (sqrt.f64 -1/4)) im) (*.f64 (*.f64 re (sqrt.f64 -1/4)) im) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 1/2 im) im (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) im) im (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/4) (pow.f64 re 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) -1/4 (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16))) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1)
(-.f64 (/.f64 1/4 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))) (/.f64 (*.f64 (pow.f64 re 4) 1/16) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 1)
(*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (log.f64 (exp.f64 1)))
(*.f64 1 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2))
(*.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (pow.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2) (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(*.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (pow.f64 (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)) 1))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (/.f64 1 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (pow.f64 (/.f64 1 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))) 1))
(*.f64 (pow.f64 1 1/3) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(*.f64 (pow.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) 1/3) (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (pow.f64 (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1/3) (pow.f64 (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)) 1/3) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1/3) (pow.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2) (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(/.f64 1 (/.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4) (fma.f64 (pow.f64 re 6) -1/64 1/8)))
(/.f64 1 (/.f64 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (pow.f64 re 4) 1/16 (-.f64 1/4 (*.f64 -1/8 (pow.f64 re 2)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8)) (neg.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (neg.f64 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))))
(/.f64 (fma.f64 (pow.f64 re 4) 1/16 -1/4) (fma.f64 -1/4 (pow.f64 re 2) -1/2))
(pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 1)
(pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3)
(pow.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4) (fma.f64 (pow.f64 re 6) -1/64 1/8)) -1)
(pow.f64 (/.f64 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) -1)
(sqrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))
(log.f64 (exp.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(cbrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(log1p.f64 (expm1.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(exp.f64 (log.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(fma.f64 re (*.f64 re -1/4) 1/2)
(fma.f64 (pow.f64 re 2) -1/4 1/2)
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) 1 1/2)
(fma.f64 1 (*.f64 -1/4 (pow.f64 re 2)) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 re) 4) (*.f64 (pow.f64 (cbrt.f64 re) 2) -1/4) 1/2)
(fma.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) 1/2)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) 1/2)
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 re (sqrt.f64 -1/4)) 1/2)
(fma.f64 (*.f64 -1/4 re) re 1/2)
(fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 re) 4)) (pow.f64 (cbrt.f64 re) 2) 1/2)

simplify134.0ms (2.9%)

Algorithm
egg-herbie
Rules
1314×fma-neg
992×fma-define
878×*-commutative
744×exp-prod
724×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03195523
16685405
219085209
362614936
Stop Event
node limit
Counts
141 → 165
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
1/2
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 1)
(/.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 6) -1/64))) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))) (fma.f64 (pow.f64 im 2) 1/2 (neg.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))))
(/.f64 (*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 6) -1/64 1/8)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (pow.f64 im 2)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (pow.f64 im 2)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (exp.f64 (*.f64 (pow.f64 im 2) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 2))
(fma.f64 im (*.f64 im 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 im (*.f64 im (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 re 2) (*.f64 -1/4 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 1 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) 1 (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2))) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))) (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (sqrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (*.f64 re (sqrt.f64 -1/4)) im) (*.f64 (*.f64 re (sqrt.f64 -1/4)) im) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 1/2 im) im (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) im) im (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/4) (pow.f64 re 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) -1/4 (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16))) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1)
(-.f64 (/.f64 1/4 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))) (/.f64 (*.f64 (pow.f64 re 4) 1/16) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 1)
(*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (log.f64 (exp.f64 1)))
(*.f64 1 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2))
(*.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (pow.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2) (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(*.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (pow.f64 (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)) 1))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (/.f64 1 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (pow.f64 (/.f64 1 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))) 1))
(*.f64 (pow.f64 1 1/3) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(*.f64 (pow.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) 1/3) (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (pow.f64 (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1/3) (pow.f64 (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)) 1/3) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1/3) (pow.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2) (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(/.f64 1 (/.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4) (fma.f64 (pow.f64 re 6) -1/64 1/8)))
(/.f64 1 (/.f64 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (pow.f64 re 4) 1/16 (-.f64 1/4 (*.f64 -1/8 (pow.f64 re 2)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8)) (neg.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (neg.f64 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))))
(/.f64 (fma.f64 (pow.f64 re 4) 1/16 -1/4) (fma.f64 -1/4 (pow.f64 re 2) -1/2))
(pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 1)
(pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3)
(pow.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4) (fma.f64 (pow.f64 re 6) -1/64 1/8)) -1)
(pow.f64 (/.f64 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) -1)
(sqrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))
(log.f64 (exp.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(cbrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(log1p.f64 (expm1.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(exp.f64 (log.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(fma.f64 re (*.f64 re -1/4) 1/2)
(fma.f64 (pow.f64 re 2) -1/4 1/2)
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) 1 1/2)
(fma.f64 1 (*.f64 -1/4 (pow.f64 re 2)) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 re) 4) (*.f64 (pow.f64 (cbrt.f64 re) 2) -1/4) 1/2)
(fma.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) 1/2)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) 1/2)
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 re (sqrt.f64 -1/4)) 1/2)
(fma.f64 (*.f64 -1/4 re) re 1/2)
(fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 re) 4)) (pow.f64 (cbrt.f64 re) 2) 1/2)
Outputs
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))
(*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))
(*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
1/2
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 (pow.f64 re 2) (+.f64 (/.f64 1/2 (pow.f64 re 2)) -1/4))
(*.f64 (pow.f64 re 2) (+.f64 -1/4 (/.f64 1/2 (pow.f64 re 2))))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 (pow.f64 re 2) (+.f64 (/.f64 1/2 (pow.f64 re 2)) -1/4))
(*.f64 (pow.f64 re 2) (+.f64 -1/4 (/.f64 1/2 (pow.f64 re 2))))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 (pow.f64 re 2) (+.f64 (/.f64 1/2 (pow.f64 re 2)) -1/4))
(*.f64 (pow.f64 re 2) (+.f64 -1/4 (/.f64 1/2 (pow.f64 re 2))))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 (pow.f64 re 2) (+.f64 (/.f64 1/2 (pow.f64 re 2)) -1/4))
(*.f64 (pow.f64 re 2) (+.f64 -1/4 (/.f64 1/2 (pow.f64 re 2))))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 (pow.f64 re 2) (+.f64 (/.f64 1/2 (pow.f64 re 2)) -1/4))
(*.f64 (pow.f64 re 2) (+.f64 -1/4 (/.f64 1/2 (pow.f64 re 2))))
(*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 re 2))) 1/4))
(*.f64 (pow.f64 re 2) (+.f64 (/.f64 1/2 (pow.f64 re 2)) -1/4))
(*.f64 (pow.f64 re 2) (+.f64 -1/4 (/.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) (cbrt.f64 (exp.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 1)
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(/.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 6) -1/64))) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))))))
(/.f64 (*.f64 (pow.f64 im 6) (+.f64 1/8 (*.f64 (pow.f64 re 6) -1/64))) (+.f64 (*.f64 (*.f64 (pow.f64 im 2) (pow.f64 im 2)) 1/4) (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (-.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (pow.f64 im 6) (/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) -1/2))))))
(*.f64 (pow.f64 im 6) (/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 (pow.f64 im 4) (fma.f64 -1/4 (pow.f64 re 2) -1/2)) (*.f64 1/4 (pow.f64 im 4)))))
(*.f64 (pow.f64 im 6) (/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (pow.f64 im 4) (fma.f64 (pow.f64 re 4) 1/16 1/4) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 re 2) 1/4) (pow.f64 im 4))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))) (fma.f64 (pow.f64 im 2) 1/2 (neg.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(/.f64 (*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 6) -1/64 1/8)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 (pow.f64 im 2) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (/.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4))))
(*.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (/.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(*.f64 (pow.f64 im 2) (/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(*.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (/.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (pow.f64 im 2)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 6) -1/64 1/8)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 (pow.f64 im 2) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (pow.f64 im 2)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (/.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4))))
(*.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (/.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(*.f64 (pow.f64 im 2) (/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(*.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (/.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1)
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3)
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6) 1/3)
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6))
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2)
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (exp.f64 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6)) 1/3))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 im (*.f64 im 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 im (*.f64 im (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 re 2) (*.f64 -1/4 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 1/2 (*.f64 (pow.f64 (cbrt.f64 im) 4) (pow.f64 (cbrt.f64 im) 2)) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 (cbrt.f64 im) 2)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 re 2) (*.f64 -1/4 (pow.f64 (cbrt.f64 im) 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 (pow.f64 (cbrt.f64 im) 4) (pow.f64 (cbrt.f64 im) 2)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (pow.f64 im 2) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) 1/2))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) 1 (*.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2))) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))) (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (sqrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (*.f64 re (sqrt.f64 -1/4)) im) (*.f64 (*.f64 re (sqrt.f64 -1/4)) im) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 1/2 im) im (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 1/2 (*.f64 (pow.f64 (cbrt.f64 im) 4) (pow.f64 (cbrt.f64 im) 2)) (*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2))))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) im) im (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 (cbrt.f64 im) 2)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 re 2) (*.f64 -1/4 (pow.f64 (cbrt.f64 im) 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 (pow.f64 (cbrt.f64 im) 4) (pow.f64 (cbrt.f64 im) 2)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (*.f64 (pow.f64 im 2) -1/4) (pow.f64 re 2) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) -1/4 (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16))) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (pow.f64 im 2) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(-.f64 (/.f64 1/4 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))) (/.f64 (*.f64 (pow.f64 re 4) 1/16) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 1)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (log.f64 (exp.f64 1)))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 1 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (pow.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) 1/3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2) (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (pow.f64 (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)) 1))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (/.f64 1 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (pow.f64 (/.f64 1 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))) 1))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(*.f64 (pow.f64 1 1/3) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) 1/3) (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1/3) (pow.f64 (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1/3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3)) 1/3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)) 1/3) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2) (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 7))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 8)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2) (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1/3) (pow.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (*.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (pow.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3))))
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 5)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2) (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(/.f64 1 (/.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4) (fma.f64 (pow.f64 re 6) -1/64 1/8)))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 1 (/.f64 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (pow.f64 re 4) 1/16 (-.f64 1/4 (*.f64 -1/8 (pow.f64 re 2)))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (pow.f64 re 4) 1/16 (+.f64 1/4 (*.f64 1/8 (pow.f64 re 2)))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (pow.f64 re 4) 1/16 (-.f64 1/4 (*.f64 (pow.f64 re 2) -1/8))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (pow.f64 re 4) 1/16 (fma.f64 (pow.f64 re 2) 1/8 1/4)))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8)) (neg.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (neg.f64 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 re 4) 1/16 -1/4) (fma.f64 -1/4 (pow.f64 re 2) -1/2))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 1)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(pow.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3) 1/3)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(pow.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(pow.f64 (/.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4) (fma.f64 (pow.f64 re 6) -1/64 1/8)) -1)
(*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 1 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(pow.f64 (/.f64 (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) -1)
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(sqrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(log.f64 (exp.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(cbrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(log1p.f64 (expm1.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(exp.f64 (log.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(exp.f64 (*.f64 (log.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 3)) 1/3))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2))
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 re (*.f64 re -1/4) 1/2)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(fma.f64 (pow.f64 re 2) -1/4 1/2)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) 1 1/2)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(fma.f64 1 (*.f64 -1/4 (pow.f64 re 2)) 1/2)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 re) 4) (*.f64 (pow.f64 (cbrt.f64 re) 2) -1/4) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 re) 4) (*.f64 -1/4 (pow.f64 (cbrt.f64 re) 2)) 1/2)
(fma.f64 -1/4 (*.f64 (pow.f64 (cbrt.f64 re) 4) (pow.f64 (cbrt.f64 re) 2)) 1/2)
(fma.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) 1/2)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) 1/2)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) 1/2)
(fma.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) 1/2)
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 re (sqrt.f64 -1/4)) 1/2)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(fma.f64 (*.f64 -1/4 re) re 1/2)
(expm1.f64 (log1p.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 0 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 re 2) 1/2)
(fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 re) 4)) (pow.f64 (cbrt.f64 re) 2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 re) 4) (*.f64 -1/4 (pow.f64 (cbrt.f64 re) 2)) 1/2)
(fma.f64 -1/4 (*.f64 (pow.f64 (cbrt.f64 re) 4) (pow.f64 (cbrt.f64 re) 2)) 1/2)

eval77.0ms (1.7%)

Compiler

Compiled 3175 to 2615 computations (17.6% saved)

prune31.0ms (0.7%)

Pruning

11 alts after pruning (1 fresh and 10 done)

PrunedKeptTotal
New1641165
Fresh000
Picked112
Done099
Total16511176
Accuracy
100.0%
Counts
176 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
44.0%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
12.6%
(*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))
77.8%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
29.5%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
11.0%
(*.f64 2 (cos.f64 re))
20.5%
(*.f64 1/2 (pow.f64 im 2))
62.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
51.6%
(cos.f64 re)
26.6%
1
2.4%
0
Compiler

Compiled 173 to 132 computations (23.7% saved)

regimes42.0ms (0.9%)

Counts
13 → 1
Calls
Call 1
Inputs
0
1
(cos.f64 re)
(*.f64 2 (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

10.0ms
im
9.0ms
re
8.0ms
(cos.f64 re)
7.0ms
(*.f64 1/2 (cos.f64 re))
6.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (cos.f64 re))
100.0%1(cos.f64 re)
100.0%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 37 to 28 computations (24.3% saved)

regimes65.0ms (1.4%)

Counts
12 → 3
Calls
Call 1
Inputs
0
1
(cos.f64 re)
(*.f64 2 (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
Outputs
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Calls

3 calls:

25.0ms
im
24.0ms
(cos.f64 re)
15.0ms
re
Results
AccuracySegmentsBranch
91.9%2re
96.1%3im
91.9%2(cos.f64 re)
Compiler

Compiled 10 to 7 computations (30% saved)

regimes21.0ms (0.5%)

Counts
10 → 3
Calls
Call 1
Inputs
0
1
(cos.f64 re)
(*.f64 2 (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)))
Outputs
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Calls

1 calls:

20.0ms
im
Results
AccuracySegmentsBranch
95.8%3im
Compiler

Compiled 3 to 2 computations (33.3% saved)

regimes94.0ms (2.1%)

Counts
8 → 2
Calls
Call 1
Inputs
0
1
(cos.f64 re)
(*.f64 2 (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Calls

3 calls:

70.0ms
(cos.f64 re)
12.0ms
im
12.0ms
re
Results
AccuracySegmentsBranch
79.6%2(cos.f64 re)
77.4%2re
87.2%2im
Compiler

Compiled 10 to 7 computations (30% saved)

regimes83.0ms (1.8%)

Counts
7 → 2
Calls
Call 1
Inputs
0
1
(cos.f64 re)
(*.f64 2 (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
Outputs
(cos.f64 re)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
Calls

3 calls:

63.0ms
re
11.0ms
im
8.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
63.3%2re
63.5%2(cos.f64 re)
68.8%2im
Compiler

Compiled 10 to 7 computations (30% saved)

regimes11.0ms (0.2%)

Counts
5 → 2
Calls
Call 1
Inputs
0
1
(cos.f64 re)
(*.f64 2 (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
Outputs
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
Calls

1 calls:

9.0ms
im
Results
AccuracySegmentsBranch
68.8%2im
Compiler

Compiled 3 to 2 computations (33.3% saved)

regimes13.0ms (0.3%)

Counts
4 → 1
Calls
Call 1
Inputs
0
1
(cos.f64 re)
(*.f64 2 (cos.f64 re))
Outputs
(cos.f64 re)
Calls

3 calls:

5.0ms
im
4.0ms
re
3.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
51.6%1re
51.6%1(cos.f64 re)
51.6%1im
Compiler

Compiled 10 to 7 computations (30% saved)

regimes8.0ms (0.2%)

Counts
2 → 1
Calls
Call 1
Inputs
0
1
Outputs
1
Calls

2 calls:

4.0ms
im
3.0ms
re
Results
AccuracySegmentsBranch
26.6%1re
26.6%1im
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes6.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
0
Outputs
0
Calls

2 calls:

3.0ms
im
3.0ms
re
Results
AccuracySegmentsBranch
2.4%1im
2.4%1re
Compiler

Compiled 6 to 4 computations (33.3% saved)

bsearch41.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
2.843599392911052e+153
4.435842841723378e+154
22.0ms
243.02811610941674
55468.92421252194
Results
21.0ms127×256infinite
14.0ms80×256valid
0.0ms256infinite
Compiler

Compiled 318 to 262 computations (17.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
Operation ival-cos, time spent: 7.0ms, 41.0% of total-time
Operation ival-exp, time spent: 4.0ms, 24.0% of total-time
Operation ival-mult, time spent: 3.0ms, 18.0% of total-time
Operation ival-add, time spent: 1.0ms, 6.0% of total-time
Operation ival-neg, time spent: 1.0ms, 6.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

bsearch39.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
2.843599392911052e+153
4.435842841723378e+154
21.0ms
243.02811610941674
55468.92421252194
Results
21.0ms127×256infinite
13.0ms80×256valid
0.0ms256infinite
Compiler

Compiled 262 to 213 computations (18.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
Operation ival-cos, time spent: 6.0ms, 37.0% of total-time
Operation ival-exp, time spent: 4.0ms, 25.0% of total-time
Operation ival-mult, time spent: 4.0ms, 25.0% of total-time
Operation ival-add, time spent: 1.0ms, 6.0% of total-time
Operation ival-neg, time spent: 1.0ms, 6.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

bsearch77.0ms (1.7%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
77.0ms
243.02811610941674
55468.92421252194
Results
69.0ms79×256valid
5.0ms32×256infinite
0.0ms256valid
Compiler

Compiled 130 to 105 computations (19.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 65.0ms
Operation ival-cos, time spent: 59.0ms, 91.0% of total-time
Operation ival-exp, time spent: 3.0ms, 5.0% of total-time
Operation ival-mult, time spent: 2.0ms, 3.0% of total-time
Operation ival-add, time spent: 1.0ms, 2.0% of total-time
Operation ival-neg, time spent: 1.0ms, 2.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

bsearch58.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
58.0ms
9.70554664072319e+34
2.2496922965426395e+38
Results
54.0ms127×256infinite
0.0ms256infinite
Compiler

Compiled 138 to 118 computations (14.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
Operation ival-cos, time spent: 4.0ms, 41.0% of total-time
Operation ival-exp, time spent: 2.0ms, 21.0% of total-time
Operation ival-mult, time spent: 2.0ms, 21.0% of total-time
Operation ival-add, time spent: 1.0ms, 10.0% of total-time
Operation ival-neg, time spent: 1.0ms, 10.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

bsearch24.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
24.0ms
9.70554664072319e+34
2.2496922965426395e+38
Results
20.0ms127×256infinite
0.0ms256infinite
Compiler

Compiled 122 to 102 computations (16.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
Operation ival-cos, time spent: 4.0ms, 45.0% of total-time
Operation ival-exp, time spent: 2.0ms, 23.0% of total-time
Operation ival-mult, time spent: 2.0ms, 23.0% of total-time
Operation ival-add, time spent: 1.0ms, 11.0% of total-time
Operation ival-neg, time spent: 1.0ms, 11.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

simplify12.0ms (0.3%)

Algorithm
egg-herbie
Rules
14×*-commutative
+-commutative
1-exp
sub-neg
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044394
159394
261394
362394
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 250) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 250) (cos.f64 re) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 250) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 214999999999999984770734858117253693440) (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(if (<=.f64 im 81999999999999995509498824826946584576) (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cos.f64 re)
1
0
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 250) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 250) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1)) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 250) (cos.f64 re) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 250) (cos.f64 re) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 250) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 250) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 214999999999999984770734858117253693440) (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(if (<=.f64 im 214999999999999984770734858117253693440) (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(if (<=.f64 im 81999999999999995509498824826946584576) (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cos.f64 re)
1
0
Compiler

Compiled 131 to 100 computations (23.7% saved)

soundness277.0ms (6.1%)

Rules
1522×distribute-lft-in
1452×associate-+r+
1446×distribute-rgt-in
998×associate-*r*
920×fma-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0981761
12881603
29571418
335441359
01644
120244
2330644
01352382
12982340
28782294
342112275
458742275
Stop Event
node limit
unsound
node limit
Compiler

Compiled 112 to 76 computations (32.1% saved)

end0.0ms (0%)

preprocess100.0ms (2.2%)

Remove

(abs im)

(abs re)

Compiler

Compiled 516 to 352 computations (31.8% saved)

Profiling

Loading profile data...