math.exp on complex, real part

Time bar (total: 4.5s)

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 8 to 6 computations (25% saved)

sample1.4s (32.2%)

Results
1.1s6162×256valid
323.0ms2091×256infinite
1.0ms1024valid
0.0ms512valid
Bogosity

preprocess170.0ms (3.8%)

Algorithm
egg-herbie
Rules
3324×fma-def
1146×associate-/l*
1074×times-frac
978×div-sub
710×associate-/r/
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(exp.f64 re)
00-0-im
00-0-re
00-0-(cos.f64 im)
00-0-(*.f64 (exp.f64 re) (cos.f64 im))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022163
145161
280155
3121155
4224155
5444155
61027155
72012155
86382155
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 (neg.f64 im)))
(neg.f64 (*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im)))
(neg.f64 (*.f64 (exp.f64 re) (cos.f64 (neg.f64 im))))
(*.f64 (exp.f64 im) (cos.f64 re))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im))
(*.f64 (cos.f64 im) (exp.f64 (neg.f64 re)))
(/.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (cos.f64 (neg.f64 im)))
(*.f64 (exp.f64 re) (cos.f64 im))
(neg.f64 (*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im)))
(*.f64 (exp.f64 (neg.f64 re)) (neg.f64 (cos.f64 im)))
(*.f64 (cos.f64 im) (/.f64 -1 (exp.f64 re)))
(neg.f64 (/.f64 (cos.f64 im) (exp.f64 re)))
(/.f64 (neg.f64 (cos.f64 im)) (exp.f64 re))
(/.f64 (cos.f64 im) (neg.f64 (exp.f64 re)))
(neg.f64 (*.f64 (exp.f64 re) (cos.f64 (neg.f64 im))))
(*.f64 (exp.f64 re) (neg.f64 (cos.f64 im)))
(*.f64 (cos.f64 im) (neg.f64 (exp.f64 re)))
(*.f64 (exp.f64 im) (cos.f64 re))
Symmetry

(abs im)

Compiler

Compiled 35 to 17 computations (51.4% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

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

Compiled 7 to 5 computations (28.6% saved)

localize59.0ms (1.3%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 14 to 6 computations (57.1% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
im
@0
(*.f64 (exp.f64 re) (cos.f64 im))
0.0ms
re
@0
(*.f64 (exp.f64 re) (cos.f64 im))
0.0ms
re
@-inf
(*.f64 (exp.f64 re) (cos.f64 im))
0.0ms
im
@inf
(*.f64 (exp.f64 re) (cos.f64 im))

rewrite195.0ms (4.4%)

Algorithm
batch-egg-rewrite
Rules
588×unpow-prod-down
472×log-prod
460×cbrt-prod
398×log1p-expm1-u
398×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

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

simplify77.0ms (1.7%)

Algorithm
egg-herbie
Rules
1548×prod-exp
832×associate-*r*
802×fma-def
698×associate-*l*
606×fma-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01011320
12681233
27941176
337931165
462451165
Stop Event
node limit
Counts
45 → 53
Calls
Call 1
Inputs
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) (cos.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 re)
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re))))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 0 (*.f64 (exp.f64 re) (cos.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (cos.f64 im))) 1)
(pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 3)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 2)
(pow.f64 (E.f64) (+.f64 re (log.f64 (cos.f64 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))) 2)) (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im))))) (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 re (log.f64 (cos.f64 im)))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 re (log.f64 (cos.f64 im)))) 1/3))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 re (log.f64 (cos.f64 im)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
Outputs
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) (fma.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)) (*.f64 (cos.f64 im) re)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (+.f64 re (fma.f64 1/2 (pow.f64 re 2) 1)))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) (cos.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))))
(+.f64 (cos.f64 im) (fma.f64 1/6 (*.f64 (cos.f64 im) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)) (*.f64 (cos.f64 im) re))))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1) (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 re 1/6) 1/2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) (fma.f64 1/6 (pow.f64 re 3) 1)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 re)
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))))
(+.f64 (exp.f64 re) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (exp.f64 re)))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)) (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4)))))
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (exp.f64 re) (+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (exp.f64 re) (+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/2 (pow.f64 im 2)))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re))))))
(+.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)) (fma.f64 -1/720 (*.f64 (exp.f64 re) (pow.f64 im 6)) (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (exp.f64 re)) (*.f64 (exp.f64 re) (+.f64 (*.f64 -1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 (exp.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6))) (*.f64 (exp.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (exp.f64 re) (+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6)))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 0 (*.f64 (exp.f64 re) (cos.f64 im)))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(*.f64 (cos.f64 im) (exp.f64 re))
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (cos.f64 im))) 1)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 3)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2) 1/2)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3) 1/3)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 2)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (E.f64) (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))) 2)) (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im))))) (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2))
(*.f64 (cos.f64 im) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(*.f64 (cos.f64 im) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3))
(*.f64 (cos.f64 im) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 re (log.f64 (cos.f64 im)))) 3))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (*.f64 (*.f64 3 (+.f64 re (log.f64 (cos.f64 im)))) 1/3))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 re (log.f64 (cos.f64 im)))) 2))
(*.f64 (cos.f64 im) (exp.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))

eval13.0ms (0.3%)

Compiler

Compiled 679 to 349 computations (48.6% saved)

prune9.0ms (0.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New49453
Fresh000
Picked011
Done000
Total49554
Accuracy
100.0%
Counts
54 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.2%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
75.8%
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
70.7%
(exp.f64 re)
55.2%
(cos.f64 im)
Compiler

Compiled 31 to 23 computations (25.8% saved)

localize282.0ms (6.3%)

Localize:

Found 4 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(+.f64 re (log.f64 (cos.f64 im)))
100.0%
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
75.8%
(log.f64 (cos.f64 im))
Compiler

Compiled 41 to 14 computations (65.9% saved)

series58.0ms (1.3%)

Counts
4 → 47
Calls

21 calls:

TimeVariablePointExpression
27.0ms
im
@inf
(log.f64 (cos.f64 im))
22.0ms
im
@-inf
(log.f64 (cos.f64 im))
3.0ms
re
@0
(+.f64 re (log.f64 (cos.f64 im)))
1.0ms
im
@0
(log.f64 (cos.f64 im))
1.0ms
im
@0
(*.f64 (+.f64 re 1) (cos.f64 im))

rewrite170.0ms (3.8%)

Algorithm
batch-egg-rewrite
Rules
1144×prod-diff
870×log1p-expm1-u
870×expm1-log1p-u
854×log-prod
624×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01577
118577
2235577
Stop Event
node limit
Counts
4 → 133
Calls
Call 1
Inputs
(log.f64 (cos.f64 im))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(+.f64 re (log.f64 (cos.f64 im)))
(*.f64 (+.f64 re 1) (cos.f64 im))
Outputs
(+.f64 (log.f64 (cos.f64 im)) 0)
(+.f64 0 (log.f64 (cos.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (log.f64 (cbrt.f64 (cos.f64 im))))
(+.f64 (log.f64 (cbrt.f64 (cos.f64 im))) (log.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)))
(+.f64 (log.f64 (sqrt.f64 (cos.f64 im))) (log.f64 (sqrt.f64 (cos.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (cos.f64 im)))) 1)
(*.f64 (log.f64 (cos.f64 im)) 1)
(*.f64 1 (log.f64 (cos.f64 im)))
(*.f64 (cbrt.f64 (log.f64 (cos.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) (cbrt.f64 (log.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (log.f64 (cos.f64 im))) (sqrt.f64 (log.f64 (cos.f64 im))))
(pow.f64 (log.f64 (cos.f64 im)) 1)
(pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 3)
(pow.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (log.f64 (cos.f64 im))) 2)
(sqrt.f64 (pow.f64 (log.f64 (cos.f64 im)) 2))
(cbrt.f64 (pow.f64 (log.f64 (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (log.f64 (cos.f64 im))))
(exp.f64 (log.f64 (log.f64 (cos.f64 im))))
(exp.f64 (*.f64 (log.f64 (log.f64 (cos.f64 im))) 1))
(log1p.f64 (-.f64 (cos.f64 im) 1))
(+.f64 0 (*.f64 (cos.f64 im) (exp.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))) (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re)))) 1)
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1)
(*.f64 1 (*.f64 (cos.f64 im) (exp.f64 re)))
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(*.f64 (*.f64 (exp.f64 re) 1) (cos.f64 im))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 1) (+.f64 (log.f64 (cos.f64 im)) re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2)) (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re))) (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (exp.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (log.f64 (cos.f64 im)) re))) 1)
(-.f64 (/.f64 (pow.f64 re 2) (-.f64 re (log.f64 (cos.f64 im)))) (/.f64 (pow.f64 (log.f64 (cos.f64 im)) 2) (-.f64 re (log.f64 (cos.f64 im)))))
(*.f64 (+.f64 (log.f64 (cos.f64 im)) re) 1)
(*.f64 1 (+.f64 (log.f64 (cos.f64 im)) re))
(*.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2) (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(*.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(*.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(*.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (/.f64 1 (-.f64 re (log.f64 (cos.f64 im)))))
(/.f64 1 (/.f64 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)) (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3))))
(/.f64 1 (/.f64 (-.f64 re (log.f64 (cos.f64 im))) (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2))))
(/.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3)) (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 2) (-.f64 (pow.f64 re 2) (*.f64 (log.f64 (cos.f64 im)) re))))
(/.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (-.f64 re (log.f64 (cos.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3))) (neg.f64 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2))) (neg.f64 (-.f64 re (log.f64 (cos.f64 im)))))
(/.f64 (-.f64 (pow.f64 (log.f64 (cos.f64 im)) 2) (pow.f64 re 2)) (-.f64 (log.f64 (cos.f64 im)) re))
(pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 1)
(pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 3)
(pow.f64 (pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2)
(sqrt.f64 (pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 2))
(log.f64 (*.f64 (cos.f64 im) (exp.f64 re)))
(log.f64 (+.f64 1 (fma.f64 (cos.f64 im) (exp.f64 re) -1)))
(log.f64 (*.f64 (cos.f64 im) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (+.f64 1 (-.f64 (cos.f64 im) 1)) (exp.f64 re)))
(log.f64 (*.f64 (+.f64 1 (-.f64 (cos.f64 im) 1)) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (-.f64 (cos.f64 im) 1))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (cos.f64 im)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (-.f64 (cos.f64 im) 1))))
(cbrt.f64 (pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 3))
(expm1.f64 (log1p.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(exp.f64 (log.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(exp.f64 (*.f64 (log.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 1))
(log1p.f64 (fma.f64 (cos.f64 im) (exp.f64 re) -1))
(fma.f64 (log.f64 (cos.f64 im)) 1 re)
(fma.f64 re 1 (log.f64 (cos.f64 im)))
(fma.f64 1 (log.f64 (cos.f64 im)) re)
(fma.f64 1 re (log.f64 (cos.f64 im)))
(fma.f64 (cbrt.f64 (log.f64 (cos.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) re)
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) (cbrt.f64 (log.f64 (cos.f64 im))) re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (log.f64 (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (log.f64 (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (log.f64 (cos.f64 im)))
(fma.f64 (sqrt.f64 (log.f64 (cos.f64 im))) (sqrt.f64 (log.f64 (cos.f64 im))) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (log.f64 (cos.f64 im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (log.f64 (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 re (cos.f64 im)) (cos.f64 im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))) 1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (+.f64 re 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (cos.f64 im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(exp.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 (cos.f64 im) 1 (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) 1 (*.f64 re (cos.f64 im)))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(fma.f64 1 (cos.f64 im) (*.f64 (cos.f64 im) re))
(fma.f64 1 (cos.f64 im) (*.f64 re (cos.f64 im)))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cos.f64 im) re))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 re (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))

simplify127.0ms (2.8%)

Algorithm
egg-herbie
Rules
938×associate-+r+
894×associate-+l+
578×times-frac
464×fma-def
444×associate-/l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03415164
17864859
227374720
Stop Event
node limit
Counts
180 → 203
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 im 4)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 4)) (*.f64 -1/45 (pow.f64 im 6))))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 4)) (+.f64 (*.f64 -1/45 (pow.f64 im 6)) (*.f64 -17/2520 (pow.f64 im 8)))))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) (cos.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 re)
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re))))))
(log.f64 (cos.f64 im))
re
re
re
(+.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 im 4))))
(+.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 4)) (*.f64 -1/45 (pow.f64 im 6)))))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 re (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 re (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re))))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)))))))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 (log.f64 (cos.f64 im)) 0)
(+.f64 0 (log.f64 (cos.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (log.f64 (cbrt.f64 (cos.f64 im))))
(+.f64 (log.f64 (cbrt.f64 (cos.f64 im))) (log.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)))
(+.f64 (log.f64 (sqrt.f64 (cos.f64 im))) (log.f64 (sqrt.f64 (cos.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (cos.f64 im)))) 1)
(*.f64 (log.f64 (cos.f64 im)) 1)
(*.f64 1 (log.f64 (cos.f64 im)))
(*.f64 (cbrt.f64 (log.f64 (cos.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) (cbrt.f64 (log.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (log.f64 (cos.f64 im))) (sqrt.f64 (log.f64 (cos.f64 im))))
(pow.f64 (log.f64 (cos.f64 im)) 1)
(pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 3)
(pow.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (log.f64 (cos.f64 im))) 2)
(sqrt.f64 (pow.f64 (log.f64 (cos.f64 im)) 2))
(cbrt.f64 (pow.f64 (log.f64 (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (log.f64 (cos.f64 im))))
(exp.f64 (log.f64 (log.f64 (cos.f64 im))))
(exp.f64 (*.f64 (log.f64 (log.f64 (cos.f64 im))) 1))
(log1p.f64 (-.f64 (cos.f64 im) 1))
(+.f64 0 (*.f64 (cos.f64 im) (exp.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))) (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re)))) 1)
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1)
(*.f64 1 (*.f64 (cos.f64 im) (exp.f64 re)))
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(*.f64 (*.f64 (exp.f64 re) 1) (cos.f64 im))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 1) (+.f64 (log.f64 (cos.f64 im)) re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2)) (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re))) (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (exp.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (log.f64 (cos.f64 im)) re))) 1)
(-.f64 (/.f64 (pow.f64 re 2) (-.f64 re (log.f64 (cos.f64 im)))) (/.f64 (pow.f64 (log.f64 (cos.f64 im)) 2) (-.f64 re (log.f64 (cos.f64 im)))))
(*.f64 (+.f64 (log.f64 (cos.f64 im)) re) 1)
(*.f64 1 (+.f64 (log.f64 (cos.f64 im)) re))
(*.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2) (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(*.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(*.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(*.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (/.f64 1 (-.f64 re (log.f64 (cos.f64 im)))))
(/.f64 1 (/.f64 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)) (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3))))
(/.f64 1 (/.f64 (-.f64 re (log.f64 (cos.f64 im))) (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2))))
(/.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3)) (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 2) (-.f64 (pow.f64 re 2) (*.f64 (log.f64 (cos.f64 im)) re))))
(/.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (-.f64 re (log.f64 (cos.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3))) (neg.f64 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2))) (neg.f64 (-.f64 re (log.f64 (cos.f64 im)))))
(/.f64 (-.f64 (pow.f64 (log.f64 (cos.f64 im)) 2) (pow.f64 re 2)) (-.f64 (log.f64 (cos.f64 im)) re))
(pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 1)
(pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 3)
(pow.f64 (pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2)
(sqrt.f64 (pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 2))
(log.f64 (*.f64 (cos.f64 im) (exp.f64 re)))
(log.f64 (+.f64 1 (fma.f64 (cos.f64 im) (exp.f64 re) -1)))
(log.f64 (*.f64 (cos.f64 im) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (+.f64 1 (-.f64 (cos.f64 im) 1)) (exp.f64 re)))
(log.f64 (*.f64 (+.f64 1 (-.f64 (cos.f64 im) 1)) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (-.f64 (cos.f64 im) 1))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (cos.f64 im)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (-.f64 (cos.f64 im) 1))))
(cbrt.f64 (pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 3))
(expm1.f64 (log1p.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(exp.f64 (log.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(exp.f64 (*.f64 (log.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 1))
(log1p.f64 (fma.f64 (cos.f64 im) (exp.f64 re) -1))
(fma.f64 (log.f64 (cos.f64 im)) 1 re)
(fma.f64 re 1 (log.f64 (cos.f64 im)))
(fma.f64 1 (log.f64 (cos.f64 im)) re)
(fma.f64 1 re (log.f64 (cos.f64 im)))
(fma.f64 (cbrt.f64 (log.f64 (cos.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) re)
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) (cbrt.f64 (log.f64 (cos.f64 im))) re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (log.f64 (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (log.f64 (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (log.f64 (cos.f64 im)))
(fma.f64 (sqrt.f64 (log.f64 (cos.f64 im))) (sqrt.f64 (log.f64 (cos.f64 im))) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (log.f64 (cos.f64 im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (log.f64 (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 re (cos.f64 im)) (cos.f64 im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))) 1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (+.f64 re 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (cos.f64 im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(exp.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 (cos.f64 im) 1 (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) 1 (*.f64 re (cos.f64 im)))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(fma.f64 1 (cos.f64 im) (*.f64 (cos.f64 im) re))
(fma.f64 1 (cos.f64 im) (*.f64 re (cos.f64 im)))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cos.f64 im) re))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 re (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
Outputs
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 im 4)))
(fma.f64 -1/2 (pow.f64 im 2) (*.f64 -1/12 (pow.f64 im 4)))
(fma.f64 -1/12 (pow.f64 im 4) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 4)) (*.f64 -1/45 (pow.f64 im 6))))
(fma.f64 -1/2 (pow.f64 im 2) (fma.f64 -1/12 (pow.f64 im 4) (*.f64 -1/45 (pow.f64 im 6))))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 4)) (+.f64 (*.f64 -1/45 (pow.f64 im 6)) (*.f64 -17/2520 (pow.f64 im 8)))))
(fma.f64 -1/2 (pow.f64 im 2) (fma.f64 -1/12 (pow.f64 im 4) (fma.f64 -1/45 (pow.f64 im 6) (*.f64 -17/2520 (pow.f64 im 8)))))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) (fma.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)) (*.f64 (cos.f64 im) re)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (+.f64 1 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) (cos.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))))
(+.f64 (cos.f64 im) (fma.f64 1/6 (*.f64 (cos.f64 im) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)) (*.f64 (cos.f64 im) re))))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1) (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/6 re) 1/2)) (+.f64 re 1)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 re)
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))))
(*.f64 (exp.f64 re) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) 1/24))))
(*.f64 (exp.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1)))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re))))))
(+.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re)) (fma.f64 -1/720 (*.f64 (pow.f64 im 6) (exp.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re))))))
(+.f64 (*.f64 (exp.f64 re) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (*.f64 (exp.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) -1/720))))
(*.f64 (exp.f64 re) (+.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) -1/720))))
(log.f64 (cos.f64 im))
re
re
re
(+.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(fma.f64 -1/2 (pow.f64 im 2) re)
(+.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 im 4))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) (*.f64 -1/12 (pow.f64 im 4))) re)
(+.f64 (*.f64 -1/12 (pow.f64 im 4)) (fma.f64 -1/2 (pow.f64 im 2) re))
(+.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 4)) (*.f64 -1/45 (pow.f64 im 6)))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) (fma.f64 -1/12 (pow.f64 im 4) (*.f64 -1/45 (pow.f64 im 6)))) re)
(+.f64 (fma.f64 -1/12 (pow.f64 im 4) (*.f64 -1/45 (pow.f64 im 6))) (fma.f64 -1/2 (pow.f64 im 2) re))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 re (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 re (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1)))))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re))))))
(+.f64 1 (+.f64 re (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re 1))))))
(+.f64 re (+.f64 1 (*.f64 (+.f64 re 1) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) 1/24)))))
(*.f64 (+.f64 re 1) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (*.f64 (pow.f64 im 4) 1/24)))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)))))))
(+.f64 1 (+.f64 re (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1)) (fma.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 re 1)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re 1)))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1)) (*.f64 (+.f64 re 1) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) -1/720))))
(+.f64 (*.f64 (+.f64 re 1) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) -1/720)))) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (log.f64 (cos.f64 im)) 0)
(log.f64 (cos.f64 im))
(+.f64 0 (log.f64 (cos.f64 im)))
(log.f64 (cos.f64 im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (log.f64 (cbrt.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(+.f64 (log.f64 (cbrt.f64 (cos.f64 im))) (log.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)))
(log.f64 (cos.f64 im))
(+.f64 (log.f64 (sqrt.f64 (cos.f64 im))) (log.f64 (sqrt.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (cos.f64 im)))) 1)
(log.f64 (cos.f64 im))
(*.f64 (log.f64 (cos.f64 im)) 1)
(log.f64 (cos.f64 im))
(*.f64 1 (log.f64 (cos.f64 im)))
(log.f64 (cos.f64 im))
(*.f64 (cbrt.f64 (log.f64 (cos.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2))
(log.f64 (cos.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) (cbrt.f64 (log.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(*.f64 (sqrt.f64 (log.f64 (cos.f64 im))) (sqrt.f64 (log.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(pow.f64 (log.f64 (cos.f64 im)) 1)
(log.f64 (cos.f64 im))
(pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 3)
(log.f64 (cos.f64 im))
(pow.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) 1/3)
(log.f64 (cos.f64 im))
(pow.f64 (sqrt.f64 (log.f64 (cos.f64 im))) 2)
(log.f64 (cos.f64 im))
(sqrt.f64 (pow.f64 (log.f64 (cos.f64 im)) 2))
(log.f64 (cos.f64 im))
(cbrt.f64 (pow.f64 (log.f64 (cos.f64 im)) 3))
(log.f64 (cos.f64 im))
(expm1.f64 (log1p.f64 (log.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(exp.f64 (log.f64 (log.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(exp.f64 (*.f64 (log.f64 (log.f64 (cos.f64 im))) 1))
(log.f64 (cos.f64 im))
(log1p.f64 (-.f64 (cos.f64 im) 1))
(log.f64 (cos.f64 im))
(+.f64 0 (*.f64 (cos.f64 im) (exp.f64 re)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))) (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re)))) 1)
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1)
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 1 (*.f64 (cos.f64 im) (exp.f64 re)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (cos.f64 im))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) 1) (cos.f64 im))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1)
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 3)
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 3) 1/3)
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2)
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (exp.f64 1) (+.f64 (log.f64 (cos.f64 im)) re))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2)) (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re))) (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 2))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (exp.f64 re)))))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 3))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (log.f64 (cos.f64 im)) re))) 1)
(+.f64 re (log.f64 (cos.f64 im)))
(-.f64 (/.f64 (pow.f64 re 2) (-.f64 re (log.f64 (cos.f64 im)))) (/.f64 (pow.f64 (log.f64 (cos.f64 im)) 2) (-.f64 re (log.f64 (cos.f64 im)))))
(/.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (-.f64 re (log.f64 (cos.f64 im))))
(*.f64 (+.f64 (log.f64 (cos.f64 im)) re) 1)
(+.f64 re (log.f64 (cos.f64 im)))
(*.f64 1 (+.f64 (log.f64 (cos.f64 im)) re))
(+.f64 re (log.f64 (cos.f64 im)))
(*.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2))
(+.f64 re (log.f64 (cos.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2) (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(+.f64 re (log.f64 (cos.f64 im)))
(*.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(+.f64 re (log.f64 (cos.f64 im)))
(*.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (cos.f64 im)) 3)) (/.f64 1 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (cos.f64 im)) 3)) (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)))
(*.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (/.f64 1 (-.f64 re (log.f64 (cos.f64 im)))))
(/.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (-.f64 re (log.f64 (cos.f64 im))))
(/.f64 1 (/.f64 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)) (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3))))
(*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (cos.f64 im)) 3)) (/.f64 1 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (cos.f64 im)) 3)) (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)))
(/.f64 1 (/.f64 (-.f64 re (log.f64 (cos.f64 im))) (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2))))
(/.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (-.f64 re (log.f64 (cos.f64 im))))
(/.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3)) (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)))
(*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (cos.f64 im)) 3)) (/.f64 1 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (cos.f64 im)) 3)) (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 2) (-.f64 (pow.f64 re 2) (*.f64 (log.f64 (cos.f64 im)) re))))
(*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (cos.f64 im)) 3)) (/.f64 1 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (cos.f64 im)) 3)) (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)))
(/.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (-.f64 re (log.f64 (cos.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) (pow.f64 re 3))) (neg.f64 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (cos.f64 im)) 3)) (/.f64 1 (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (cos.f64 im)) 3)) (fma.f64 (log.f64 (cos.f64 im)) (-.f64 (log.f64 (cos.f64 im)) re) (pow.f64 re 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2))) (neg.f64 (-.f64 re (log.f64 (cos.f64 im)))))
(/.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (-.f64 re (log.f64 (cos.f64 im))))
(/.f64 (-.f64 (pow.f64 (log.f64 (cos.f64 im)) 2) (pow.f64 re 2)) (-.f64 (log.f64 (cos.f64 im)) re))
(/.f64 (-.f64 (pow.f64 re 2) (pow.f64 (log.f64 (cos.f64 im)) 2)) (-.f64 re (log.f64 (cos.f64 im))))
(pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 1)
(+.f64 re (log.f64 (cos.f64 im)))
(pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 3)
(+.f64 re (log.f64 (cos.f64 im)))
(pow.f64 (pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 3) 1/3)
(+.f64 re (log.f64 (cos.f64 im)))
(pow.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2)
(+.f64 re (log.f64 (cos.f64 im)))
(sqrt.f64 (pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 2))
(+.f64 re (log.f64 (cos.f64 im)))
(log.f64 (*.f64 (cos.f64 im) (exp.f64 re)))
(+.f64 re (log.f64 (cos.f64 im)))
(log.f64 (+.f64 1 (fma.f64 (cos.f64 im) (exp.f64 re) -1)))
(+.f64 re (log.f64 (cos.f64 im)))
(log.f64 (*.f64 (cos.f64 im) (+.f64 1 (expm1.f64 re))))
(+.f64 re (log.f64 (cos.f64 im)))
(log.f64 (*.f64 (+.f64 1 (-.f64 (cos.f64 im) 1)) (exp.f64 re)))
(+.f64 re (log.f64 (cos.f64 im)))
(log.f64 (*.f64 (+.f64 1 (-.f64 (cos.f64 im) 1)) (+.f64 1 (expm1.f64 re))))
(+.f64 re (log.f64 (cos.f64 im)))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (-.f64 (cos.f64 im) 1))))
(+.f64 re (log.f64 (cos.f64 im)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (cos.f64 im)))
(+.f64 re (log.f64 (cos.f64 im)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (-.f64 (cos.f64 im) 1))))
(+.f64 re (log.f64 (cos.f64 im)))
(cbrt.f64 (pow.f64 (+.f64 (log.f64 (cos.f64 im)) re) 3))
(+.f64 re (log.f64 (cos.f64 im)))
(expm1.f64 (log1p.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(+.f64 re (log.f64 (cos.f64 im)))
(exp.f64 (log.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(+.f64 re (log.f64 (cos.f64 im)))
(exp.f64 (*.f64 (log.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 1))
(+.f64 re (log.f64 (cos.f64 im)))
(log1p.f64 (fma.f64 (cos.f64 im) (exp.f64 re) -1))
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 (log.f64 (cos.f64 im)) 1 re)
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 re 1 (log.f64 (cos.f64 im)))
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 1 (log.f64 (cos.f64 im)) re)
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 1 re (log.f64 (cos.f64 im)))
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 (cbrt.f64 (log.f64 (cos.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) re)
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) (cbrt.f64 (log.f64 (cos.f64 im))) re)
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (log.f64 (cos.f64 im)))
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (log.f64 (cos.f64 im)))
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (log.f64 (cos.f64 im)))
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 (sqrt.f64 (log.f64 (cos.f64 im))) (sqrt.f64 (log.f64 (cos.f64 im))) re)
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (log.f64 (cos.f64 im)))
(+.f64 re (log.f64 (cos.f64 im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (log.f64 (cos.f64 im)))
(+.f64 re (log.f64 (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 re (cos.f64 im)) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (+.f64 (pow.f64 re 3) 1) (/.f64 (-.f64 (fma.f64 re re 1) re) (cos.f64 im)))
(*.f64 (/.f64 (cos.f64 im) (-.f64 (fma.f64 re re 1) re)) (+.f64 (pow.f64 re 3) 1))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (+.f64 (pow.f64 re 3) 1) (/.f64 (-.f64 (fma.f64 re re 1) re) (cos.f64 im)))
(*.f64 (/.f64 (cos.f64 im) (-.f64 (fma.f64 re re 1) re)) (+.f64 (pow.f64 re 3) 1))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3) 1/3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2)
(*.f64 (cos.f64 im) (+.f64 re 1))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (+.f64 re 1) 3)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (cos.f64 im) 3)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(exp.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)) 1))
(exp.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cos.f64 im) 1 (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cos.f64 im) 1 (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 1 (cos.f64 im) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 1 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))

eval46.0ms (1%)

Compiler

Compiled 2514 to 1306 computations (48.1% saved)

prune28.0ms (0.6%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New2003203
Fresh000
Picked044
Done011
Total2008208
Accuracy
100.0%
Counts
208 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
34.0%
(+.f64 re 1)
36.2%
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
56.2%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
4.0%
(*.f64 (cos.f64 im) re)
75.8%
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
70.7%
(exp.f64 re)
55.2%
(cos.f64 im)
Compiler

Compiled 55 to 42 computations (23.6% saved)

localize77.0ms (1.7%)

Localize:

Found 3 expressions with local error:

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

Compiled 50 to 34 computations (32% saved)

series6.0ms (0.1%)

Counts
3 → 48
Calls

15 calls:

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

rewrite120.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1009×log1p-expm1-u
1009×expm1-log1p-u
934×prod-diff
778×fma-def
344×log1p-udef
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01866
122166
2284866
Stop Event
node limit
Counts
3 → 110
Calls
Call 1
Inputs
(*.f64 (cos.f64 im) re)
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
(*.f64 -1/2 (pow.f64 im 2))
Outputs
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) re))) 1)
(pow.f64 (*.f64 (cos.f64 im) re) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2))
(log.f64 (pow.f64 (exp.f64 re) (cos.f64 im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) re))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) re)))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 im) re)) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) re)))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(+.f64 (+.f64 re 1) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (+.f64 re 1) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re 1))
(+.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)) (+.f64 re 1))
(+.f64 (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 -1/2 (pow.f64 im 2))) 1)
(+.f64 (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) 1) (*.f64 -1/2 (pow.f64 im 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)))) 1)
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 1 (pow.f64 re 3))) (*.f64 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (fma.f64 re re -1)) (*.f64 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re -1)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (+.f64 1 (pow.f64 re 3))) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 re re -1)) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (+.f64 re -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (*.f64 (+.f64 re -1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)) (fma.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (-.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(/.f64 (-.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (-.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (*.f64 (+.f64 re 1) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (+.f64 re 1) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 re 1)) (-.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) (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (pow.f64 im 2) 1)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 -1/2 (pow.f64 im 2) 1)) (+.f64 re -1))
(pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (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) (+.f64 re 1)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3) (pow.f64 (+.f64 re 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1) (+.f64 re 1))
(fma.f64 1 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 1 (+.f64 re 1) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 1 (+.f64 re 1) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 1 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) re (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 1 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1))
(fma.f64 (+.f64 re 1) 1 (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (+.f64 re 1) 1 (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.f64 (+.f64 re 1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.f64 (+.f64 re 1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (+.f64 re 1)) (sqrt.f64 (+.f64 re 1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (sqrt.f64 (+.f64 re 1)) (sqrt.f64 (+.f64 re 1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (/.f64 1 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 1 (fma.f64 -1/2 (pow.f64 im 2) -1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1 (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))) (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (sqrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 re)) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 re)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (sqrt.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (sqrt.f64 re)) (sqrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2)) (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(-.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 1)
(pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 im 2))) 3)
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) -1/8) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) -1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (pow.f64 im 2)))))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) -1/8))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))))
(exp.f64 (log.f64 (*.f64 -1/2 (pow.f64 im 2))))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 im 2))))

simplify142.0ms (3.2%)

Algorithm
egg-herbie
Rules
1222×fma-neg
828×div-sub
786×unswap-sqr
686×*-commutative
506×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02845851
17335720
223415575
363235575
Stop Event
node limit
Counts
158 → 173
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) re))))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) re)))))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) re))) 1)
(pow.f64 (*.f64 (cos.f64 im) re) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2))
(log.f64 (pow.f64 (exp.f64 re) (cos.f64 im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) re))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) re)))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 im) re)) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) re)))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(+.f64 (+.f64 re 1) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (+.f64 re 1) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re 1))
(+.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)) (+.f64 re 1))
(+.f64 (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 -1/2 (pow.f64 im 2))) 1)
(+.f64 (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) 1) (*.f64 -1/2 (pow.f64 im 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)))) 1)
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 1 (pow.f64 re 3))) (*.f64 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (fma.f64 re re -1)) (*.f64 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re -1)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (+.f64 1 (pow.f64 re 3))) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 re re -1)) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (+.f64 re -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (*.f64 (+.f64 re -1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)) (fma.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (-.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(/.f64 (-.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (-.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (*.f64 (+.f64 re 1) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (+.f64 re 1) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 re 1)) (-.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) (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (pow.f64 im 2) 1)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 -1/2 (pow.f64 im 2) 1)) (+.f64 re -1))
(pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (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) (+.f64 re 1)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3) (pow.f64 (+.f64 re 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1) (+.f64 re 1))
(fma.f64 1 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 1 (+.f64 re 1) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 1 (+.f64 re 1) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 1 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) re (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 1 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1))
(fma.f64 (+.f64 re 1) 1 (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (+.f64 re 1) 1 (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.f64 (+.f64 re 1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.f64 (+.f64 re 1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (+.f64 re 1)) (sqrt.f64 (+.f64 re 1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (sqrt.f64 (+.f64 re 1)) (sqrt.f64 (+.f64 re 1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (/.f64 1 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 1 (fma.f64 -1/2 (pow.f64 im 2) -1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1 (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))) (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (sqrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 re)) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 re)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (sqrt.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (sqrt.f64 re)) (sqrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2)) (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(-.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 1)
(pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 im 2))) 3)
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) -1/8) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) -1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (pow.f64 im 2)))))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) -1/8))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))))
(exp.f64 (log.f64 (*.f64 -1/2 (pow.f64 im 2))))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 im 2))))
Outputs
re
(+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 -1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) re))))
(+.f64 re (fma.f64 -1/2 (*.f64 re (pow.f64 im 2)) (*.f64 1/24 (*.f64 re (pow.f64 im 4)))))
(+.f64 re (*.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 re (+.f64 (*.f64 1/24 (pow.f64 im 4)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) re)))))
(+.f64 re (fma.f64 -1/2 (*.f64 re (pow.f64 im 2)) (fma.f64 -1/720 (*.f64 re (pow.f64 im 6)) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 re (+.f64 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6))) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1))
(*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1)))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1))
(*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1)))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 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 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 -1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 -1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) re))) 1)
(*.f64 re (cos.f64 im))
(pow.f64 (*.f64 (cos.f64 im) re) 1)
(*.f64 re (cos.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 3)
(*.f64 re (cos.f64 im))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) 1/3)
(*.f64 re (cos.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) 2)
(*.f64 re (cos.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2))
(*.f64 re (cos.f64 im))
(log.f64 (pow.f64 (exp.f64 re) (cos.f64 im)))
(*.f64 re (cos.f64 im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) re))))
(*.f64 re (cos.f64 im))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3))
(*.f64 re (cos.f64 im))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)))
(*.f64 re (cos.f64 im))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)))
(*.f64 re (cos.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) re)))
(*.f64 re (cos.f64 im))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) re)))
(*.f64 re (cos.f64 im))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 im) re)) 1))
(*.f64 re (cos.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) re)))
(*.f64 re (cos.f64 im))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (+.f64 re 1) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (+.f64 re 1) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)) (+.f64 re 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 -1/2 (pow.f64 im 2))) 1)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) 1) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)))) 1)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 1 (pow.f64 re 3))) (*.f64 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (*.f64 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))) (-.f64 (fma.f64 re re 1) re)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (-.f64 (fma.f64 re re 1) re)) (/.f64 (+.f64 1 (pow.f64 re 3)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (fma.f64 re re -1)) (*.f64 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2)))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (+.f64 re -1)) (/.f64 (fma.f64 re re -1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 (fma.f64 re re -1) (*.f64 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2)) (+.f64 re -1))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (+.f64 1 (pow.f64 re 3))) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (pow.f64 im 2) -1)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (pow.f64 im 2) -1))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 re re -1)) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (+.f64 re -1)))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1))) (fma.f64 (pow.f64 im 4) 1/4 -1))
(*.f64 (fma.f64 re re -1) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (*.f64 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))) (-.f64 (fma.f64 re re 1) re)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (-.f64 (fma.f64 re re 1) re)) (/.f64 (+.f64 1 (pow.f64 re 3)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (pow.f64 im 2) -1)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (pow.f64 im 2) -1))))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (*.f64 (+.f64 re -1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2)))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (+.f64 re -1)) (/.f64 (fma.f64 re re -1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 (fma.f64 re re -1) (*.f64 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2)) (+.f64 re -1))))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1))) (fma.f64 (pow.f64 im 4) 1/4 -1))
(*.f64 (fma.f64 re re -1) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)) (fma.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (-.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)) (+.f64 (*.f64 re (*.f64 re (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2))) (-.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (*.f64 re (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)) (fma.f64 re (*.f64 re (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (-.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (*.f64 re (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)))))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (-.f64 (*.f64 (fma.f64 re re 1) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (*.f64 re (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)))
(/.f64 (-.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (-.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(/.f64 (-.f64 (*.f64 re (*.f64 re (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (-.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(/.f64 (*.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (fma.f64 re re -1)) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re -1)))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (*.f64 (+.f64 re 1) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (+.f64 re 1) (/.f64 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)))
(*.f64 (/.f64 (+.f64 re 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))) (fma.f64 (pow.f64 im 6) -1/8 1))
(*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 (+.f64 re 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (*.f64 (+.f64 re 1) (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 (fma.f64 -1/2 (pow.f64 im 2) -1) (+.f64 re 1)))
(*.f64 (/.f64 (+.f64 re 1) (fma.f64 -1/2 (pow.f64 im 2) -1)) (fma.f64 (pow.f64 im 4) 1/4 -1))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (+.f64 re 1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 re 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (+.f64 re 1) (/.f64 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)))
(*.f64 (/.f64 (+.f64 re 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))) (fma.f64 (pow.f64 im 6) -1/8 1))
(*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 (+.f64 re 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (+.f64 re 1)))
(*.f64 (/.f64 (+.f64 re 1) (fma.f64 -1/2 (pow.f64 im 2) -1)) (fma.f64 (pow.f64 im 4) 1/4 -1))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (+.f64 re 1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (pow.f64 im 2) 1)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 -1/2 (pow.f64 im 2) 1)) (+.f64 re -1))
(/.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 1)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))) 3)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 3) 1/3)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))) 2)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 2))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(log.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 3))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3) (pow.f64 (+.f64 re 1) 3)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)) 1))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1) (+.f64 re 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 1 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 1 (+.f64 re 1) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 1 (+.f64 re 1) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 1 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) re (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 1 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (+.f64 re 1) 1 (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (+.f64 re 1) 1 (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.f64 (+.f64 re 1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.f64 (+.f64 re 1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (sqrt.f64 (+.f64 re 1)) (sqrt.f64 (+.f64 re 1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (sqrt.f64 (+.f64 re 1)) (sqrt.f64 (+.f64 re 1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (/.f64 1 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (/.f64 1 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2)))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (/.f64 (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))))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(fma.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 1 (fma.f64 -1/2 (pow.f64 im 2) -1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(fma.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1 (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))) (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (sqrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (sqrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 re)) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 re)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (*.f64 (sqrt.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (sqrt.f64 re)) (sqrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2)) (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(-.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 1)
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 1)
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 im 2))) 3)
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) -1/8) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) -1/8))
(cbrt.f64 (*.f64 (pow.f64 im 6) -1/8))
(pow.f64 (*.f64 im (sqrt.f64 -1/2)) 2)
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) -1/2))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) -1/8))
(cbrt.f64 (*.f64 (pow.f64 im 6) -1/8))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(exp.f64 (log.f64 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))

eval179.0ms (4%)

Compiler

Compiled 3117 to 2436 computations (21.8% saved)

prune30.0ms (0.7%)

Pruning

10 alts after pruning (3 fresh and 7 done)

PrunedKeptTotal
New1703173
Fresh000
Picked123
Done055
Total17110181
Accuracy
100.0%
Counts
181 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
34.0%
(+.f64 re 1)
34.4%
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
10.5%
(*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1)))
56.2%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
4.0%
(*.f64 (cos.f64 im) re)
75.8%
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
70.7%
(exp.f64 re)
55.2%
(cos.f64 im)
3.5%
re
Compiler

Compiled 65 to 50 computations (23.1% saved)

localize69.0ms (1.5%)

Localize:

Found 2 expressions with local error:

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

Compiled 48 to 36 computations (25% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite90.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
1032×unpow-prod-down
700×log-prod
633×log1p-expm1-u
633×expm1-log1p-u
512×pow-prod-down
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01431
115427
2184627
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1)))
Outputs
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re) (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1) (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(+.f64 (*.f64 (*.f64 -1/2 re) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 1)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (fma.f64 re re -1)) (+.f64 re -1))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(fma.f64 im (*.f64 im -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (pow.f64 im 2) -1/2 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (pow.f64 im 2) (*.f64 -1/2 re) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 -1/2 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 re (*.f64 (pow.f64 im 2) -1/2) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.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 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (*.f64 -1/2 re) (pow.f64 im 2) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) re (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) 1 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) 2) (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 re (*.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 re (*.f64 (pow.f64 im 2) -1/2)))

simplify115.0ms (2.6%)

Algorithm
egg-herbie
Rules
1306×fma-def
1218×log-prod
1038×associate-/r*
674×distribute-lft-in
670×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01191865
12671821
26291817
322151817
472411817
Stop Event
node limit
Counts
65 → 57
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re) (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1) (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(+.f64 (*.f64 (*.f64 -1/2 re) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 1)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (fma.f64 re re -1)) (+.f64 re -1))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(fma.f64 im (*.f64 im -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (pow.f64 im 2) -1/2 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (pow.f64 im 2) (*.f64 -1/2 re) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 -1/2 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 re (*.f64 (pow.f64 im 2) -1/2) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.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 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (*.f64 -1/2 re) (pow.f64 im 2) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) re (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) 1 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) 2) (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 re (*.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 re (*.f64 (pow.f64 im 2) -1/2)))
Outputs
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re) (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1) (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 (*.f64 -1/2 re) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 1)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 -1/2 (pow.f64 im 2)) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (*.f64 -1/2 (pow.f64 im 2)) (-.f64 (fma.f64 re re 1) re)) (+.f64 1 (pow.f64 re 3)))
(/.f64 (pow.f64 im 2) (/.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (pow.f64 re 3) -1/2)))
(*.f64 (/.f64 (pow.f64 im 2) (-.f64 (fma.f64 re re 1) re)) (fma.f64 -1/2 (pow.f64 re 3) -1/2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 (fma.f64 re re -1))) (+.f64 re -1))
(/.f64 (pow.f64 im 2) (/.f64 (/.f64 (+.f64 re -1) (fma.f64 re re -1)) -1/2))
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re -1)) (fma.f64 -1/2 (*.f64 re re) 1/2))
(*.f64 (fma.f64 re re -1) (/.f64 -1/2 (/.f64 (+.f64 re -1) (pow.f64 im 2))))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)) 1)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 3)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4) 1/2)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6) 1/3)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 2)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 3))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6)) 1/3))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2)))) 2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 im (*.f64 im -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (pow.f64 im 2) -1/2 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (pow.f64 im 2) (*.f64 -1/2 re) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 -1/2 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 re (*.f64 (pow.f64 im 2) -1/2) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (*.f64 -1/2 re) (pow.f64 im 2) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) re (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) 1 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) 2) (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (sqrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))

eval144.0ms (3.2%)

Compiler

Compiled 913 to 729 computations (20.2% saved)

prune15.0ms (0.3%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New71273
Fresh000
Picked213
Done077
Total731083
Accuracy
100.0%
Counts
83 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
34.0%
(+.f64 re 1)
56.2%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
4.0%
(*.f64 (cos.f64 im) re)
9.6%
(*.f64 -1/2 (pow.f64 im 2))
10.9%
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
75.8%
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
70.7%
(exp.f64 re)
55.2%
(cos.f64 im)
3.5%
re
Compiler

Compiled 131 to 91 computations (30.5% saved)

regimes142.0ms (3.2%)

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

5 calls:

23.0ms
im
7.0ms
re
7.0ms
(cos.f64 im)
4.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (exp.f64 re) (cos.f64 im))
100.0%1(exp.f64 re)
100.0%1(cos.f64 im)
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes101.0ms (2.3%)

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

4 calls:

41.0ms
(cos.f64 im)
33.0ms
im
18.0ms
re
8.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
92.6%3re
80.5%4im
92.6%3(exp.f64 re)
84.6%8(cos.f64 im)
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes129.0ms (2.9%)

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

2 calls:

102.0ms
re
26.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
92.4%3re
92.4%3(exp.f64 re)
Compiler

Compiled 7 to 5 computations (28.6% saved)

regimes10.0ms (0.2%)

Counts
3 → 1
Calls
Call 1
Inputs
re
(+.f64 re 1)
(cos.f64 im)
Outputs
(cos.f64 im)
Calls

3 calls:

3.0ms
re
3.0ms
im
3.0ms
(cos.f64 im)
Results
AccuracySegmentsBranch
55.2%1(cos.f64 im)
55.2%1im
55.2%1re
Compiler

Compiled 10 to 7 computations (30% saved)

regimes7.0ms (0.2%)

Counts
2 → 1
Calls
Call 1
Inputs
re
(+.f64 re 1)
Outputs
(+.f64 re 1)
Calls

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

regimes5.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
re
Outputs
re
Calls

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
1.0000000000000073
0.0ms
0.9999928039191217
0.9999999968818092
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
1.0000000000000073
0.0ms
0.9999928039191217
0.9999999968818092
Compiler

Compiled 12 to 9 computations (25% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
024168
138168
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 (exp.f64 re) 4503577109372359/4503599627370496) (exp.f64 re) (if (<=.f64 (exp.f64 re) 1) (*.f64 (+.f64 re 1) (cos.f64 im)) (exp.f64 re)))
(if (<=.f64 (exp.f64 re) 4503577109372359/4503599627370496) (exp.f64 re) (if (<=.f64 (exp.f64 re) 1) (cos.f64 im) (exp.f64 re)))
(cos.f64 im)
(+.f64 re 1)
re
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 (exp.f64 re) 4503577109372359/4503599627370496) (exp.f64 re) (if (<=.f64 (exp.f64 re) 1) (*.f64 (+.f64 re 1) (cos.f64 im)) (exp.f64 re)))
(if (or (<=.f64 (exp.f64 re) 4503577109372359/4503599627370496) (not (<=.f64 (exp.f64 re) 1))) (exp.f64 re) (*.f64 (cos.f64 im) (+.f64 re 1)))
(if (<=.f64 (exp.f64 re) 4503577109372359/4503599627370496) (exp.f64 re) (if (<=.f64 (exp.f64 re) 1) (cos.f64 im) (exp.f64 re)))
(if (or (<=.f64 (exp.f64 re) 4503577109372359/4503599627370496) (not (<=.f64 (exp.f64 re) 1))) (exp.f64 re) (cos.f64 im))
(cos.f64 im)
(+.f64 re 1)
re
Compiler

Compiled 57 to 39 computations (31.6% saved)

soundness349.0ms (7.8%)

Rules
1548×prod-exp
938×associate-+r+
938×associate-+r+
894×associate-+l+
894×associate-+l+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01011320
12681233
27941176
337931165
462451165
03415164
17864859
227374720
03415164
17864859
227374720
Stop Event
node limit
node limit
node limit
Compiler

Compiled 33 to 19 computations (42.4% saved)

end0.0ms (0%)

preprocess51.0ms (1.1%)

Remove

(abs im)

Compiler

Compiled 178 to 108 computations (39.3% saved)

Profiling

Loading profile data...