Details

Time bar (total: 16.8s)

analyze60.0ms (0.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 50 to 36 computations (28% saved)

sample83.0ms (0.5%)

Algorithm
intervals
Results
30.0ms256×body128valid
11.0ms256×pre128true
Compiler

Compiled 82 to 60 computations (26.8% saved)

simplify50.0ms (0.3%)

Algorithm
egg-herbie
Rules
913×times-frac_binary32
551×associate-/l*_binary32
460×associate-/l/_binary32
362×associate-*l/_binary32
312×associate-/r/_binary32
Counts
1 → 1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02034
15434
217132
371032
4362432
5457132
6500932

prune8.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.4b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
Compiler

Compiled 132 to 92 computations (30.3% saved)

localize66.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.2b
(*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))))
0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.4b
(/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))))
0.8b
(sinh.f32 (/.f32 1 v))

rewrite263.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
50×add-cbrt-cube_binary32
44×add-exp-log_binary32
34×times-frac_binary32
21×*-un-lft-identity_binary32
21×add-sqr-sqrt_binary32
Counts
4 → 106
Calls

4 calls:

13.0ms
(/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))))
9.0ms
(*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))))
4.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
2.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 3186 to 1444 computations (54.7% saved)

series330.0ms (2%)

Error
0.3b
Counts
4 → 41
Calls

4 calls:

157.0ms
(/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))))
80.0ms
(*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))))
36.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
26.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 2749 to 1906 computations (30.7% saved)

simplify154.0ms (0.9%)

Algorithm
egg-herbie
Rules
752×associate-*l/_binary32
549×associate-/r/_binary32
236×associate-/r*_binary32
218×associate-*l*_binary32
200×associate-*r*_binary32
Counts
147 → 109
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02534240
16733441
224173405
347193393
449953393
549493393

prune168.0ms (1%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New9910109
Fresh011
Picked101
Done000
Total10011111
Error
0.1b
Counts
111 → 11
Alt Table
StatusErrorProgram
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (sqrt.f32 v) (*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (sqrt.f32 v)))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) v) (/.f32 (cbrt.f32 cosTheta_i) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (*.f32 (cbrt.f32 v) (cbrt.f32 v)) (*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (cbrt.f32 v)))))
0.5b
(*.f32 cosTheta_O (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) (/.f32 v (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.6b
(*.f32 cosTheta_O (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (sqrt.f32 v)) (/.f32 (pow.f32 v 3/2) (/.f32 (cbrt.f32 cosTheta_i) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) v) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 1 (pow.f32 v 3/2)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.6b
(*.f32 cosTheta_O (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) 1) (/.f32 v (/.f32 (cbrt.f32 cosTheta_i) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (exp.f32 (+.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v) (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
0.6b
(*.f32 cosTheta_O (*.f32 (*.f32 (cbrt.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))) (cbrt.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))) (cbrt.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
Compiler

Compiled 2494 to 1310 computations (47.5% saved)

localize75.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.4b
(/.f32 (/.f32 cosTheta_i v) (*.f32 (sqrt.f32 v) (*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (sqrt.f32 v))))
0.4b
(*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (sqrt.f32 v))
0.8b
(sinh.f32 (/.f32 1 v))

rewrite340.0ms (2%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
63×add-cbrt-cube_binary32
57×add-exp-log_binary32
34×times-frac_binary32
27×cbrt-unprod_binary32
27×prod-exp_binary32
Counts
4 → 113
Calls

4 calls:

16.0ms
(/.f32 (/.f32 cosTheta_i v) (*.f32 (sqrt.f32 v) (*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (sqrt.f32 v))))
10.0ms
(*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (sqrt.f32 v))
5.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
2.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 3989 to 1676 computations (58% saved)

series341.0ms (2%)

Error
0.1b
Counts
4 → 41
Calls

4 calls:

156.0ms
(/.f32 (/.f32 cosTheta_i v) (*.f32 (sqrt.f32 v) (*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (sqrt.f32 v))))
93.0ms
(*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (sqrt.f32 v))
35.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
26.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 3112 to 2129 computations (31.6% saved)

simplify126.0ms (0.8%)

Algorithm
egg-herbie
Rules
760×associate-*l/_binary32
527×associate-/r/_binary32
329×associate-*l*_binary32
291×associate-/r*_binary32
288×associate-*r*_binary32
Counts
154 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02925247
17803828
227713804
351043804

prune179.0ms (1.1%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1076113
Fresh3710
Picked011
Done000
Total11014124
Error
0.1b
Counts
124 → 14
Alt Table
StatusErrorProgram
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) v) (/.f32 (cbrt.f32 cosTheta_i) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (sqrt.f32 v) (*.f32 (sqrt.f32 (*.f32 (sqrt.f32 v) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (sqrt.f32 (*.f32 (sqrt.f32 v) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (sqrt.f32 v) (*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (sqrt.f32 v)))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (*.f32 (cbrt.f32 v) (cbrt.f32 v)) (*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (cbrt.f32 v)))))
0.5b
(*.f32 cosTheta_O (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) (/.f32 v (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 v v)))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (exp.f32 (+.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v) (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) (sqrt.f32 v)) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 v)) (*.f32 (sqrt.f32 v) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.6b
(*.f32 cosTheta_O (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (sqrt.f32 v)) (/.f32 (pow.f32 v 3/2) (/.f32 (cbrt.f32 cosTheta_i) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.6b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (sqrt.f32 v) (exp.f32 (+.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v) (log.f32 (*.f32 (sqrt.f32 v) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))))
22.2b
(*.f32 cosTheta_O (/.f32 (/.f32 (sqrt.f32 cosTheta_i) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) (/.f32 (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))) (/.f32 (sqrt.f32 cosTheta_i) (cbrt.f32 v)))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 1 (pow.f32 v 3/2)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (sqrt.f32 v)) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (sqrt.f32 v))))
Compiler

Compiled 2751 to 1433 computations (47.9% saved)

localize78.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.3b
(/.f32 1 (pow.f32 v 3/2))
0.4b
(*.f32 (/.f32 1 (pow.f32 v 3/2)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))
0.4b
(/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))
0.8b
(sinh.f32 (/.f32 1 v))

rewrite761.0ms (4.5%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
280×add-exp-log_binary32
147×div-exp_binary32
146×times-frac_binary32
136×prod-exp_binary32
92×add-cbrt-cube_binary32
Counts
4 → 285
Calls

4 calls:

26.0ms
(*.f32 (/.f32 1 (pow.f32 v 3/2)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))
11.0ms
(/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))
3.0ms
(/.f32 1 (pow.f32 v 3/2))
2.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 9278 to 4808 computations (48.2% saved)

series382.0ms (2.3%)

Error
0.1b
Counts
4 → 36
Calls

4 calls:

156.0ms
(/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))
152.0ms
(*.f32 (/.f32 1 (pow.f32 v 3/2)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))
27.0ms
(sinh.f32 (/.f32 1 v))
12.0ms
(/.f32 1 (pow.f32 v 3/2))
Compiler

Compiled 2904 to 2113 computations (27.2% saved)

simplify311.0ms (1.8%)

Algorithm
egg-herbie
Rules
307×associate-/r*_binary32
273×times-frac_binary32
248×associate-*l*_binary32
247×associate-*l/_binary32
239×associate-*r/_binary32
Counts
321 → 279
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
037011175
19369436
233719223
343658703
448688703
549688703

prune353.0ms (2.1%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New2727279
Fresh5712
Picked101
Done101
Total27914293
Error
0.1b
Counts
293 → 14
Alt Table
StatusErrorProgram
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 cosTheta_i (*.f32 v v)) (/.f32 1 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 1 (pow.f32 (*.f32 (cbrt.f32 v) (cbrt.f32 v)) 3/2)) (/.f32 (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))) (pow.f32 (cbrt.f32 v) 3/2))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (*.f32 (cbrt.f32 v) (cbrt.f32 v)) (*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (cbrt.f32 v)))))
0.5b
(*.f32 cosTheta_O (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) (/.f32 v (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (sqrt.f32 v)) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (sqrt.f32 v))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (sqrt.f32 (sqrt.f32 v))) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (pow.f32 v 3/2)) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (sqrt.f32 (sqrt.f32 v))) (*.f32 2 (sinh.f32 (/.f32 1 v))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (exp.f32 (+.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v) (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) (sqrt.f32 v)) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 v)) (*.f32 (sqrt.f32 v) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.6b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (sqrt.f32 v) (exp.f32 (+.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v) (log.f32 (*.f32 (sqrt.f32 v) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 1 (pow.f32 v 3/2)) (*.f32 (/.f32 (pow.f32 (exp.f32 (/.f32 sinTheta_i v)) (neg.f32 sinTheta_O)) (sqrt.f32 (sqrt.f32 v))) (/.f32 (/.f32 cosTheta_i (sqrt.f32 (sqrt.f32 v))) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (cbrt.f32 (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))) (pow.f32 v 3/2)) (cbrt.f32 (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(*.f32 cosTheta_O (*.f32 (exp.f32 (*.f32 (log.f32 v) -3/2)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 1 (pow.f32 (sqrt.f32 v) 3/2)) (/.f32 (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))) (pow.f32 (sqrt.f32 v) 3/2))))
Compiler

Compiled 4760 to 2524 computations (47% saved)

localize72.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.3b
(/.f32 1 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))
0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.4b
(*.f32 (/.f32 cosTheta_i (*.f32 v v)) (/.f32 1 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))
0.8b
(sinh.f32 (/.f32 1 v))

rewrite385.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
132×add-exp-log_binary32
77×prod-exp_binary32
72×add-cbrt-cube_binary32
46×div-exp_binary32
29×cbrt-unprod_binary32
Counts
4 → 135
Calls

4 calls:

16.0ms
(*.f32 (/.f32 cosTheta_i (*.f32 v v)) (/.f32 1 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))
8.0ms
(/.f32 1 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))
3.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
2.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 4285 to 2052 computations (52.1% saved)

series329.0ms (2%)

Error
0.1b
Counts
4 → 39
Calls

4 calls:

158.0ms
(*.f32 (/.f32 cosTheta_i (*.f32 v v)) (/.f32 1 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))
78.0ms
(/.f32 1 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))
37.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
25.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 2678 to 1897 computations (29.2% saved)

simplify194.0ms (1.2%)

Algorithm
egg-herbie
Rules
434×associate-/r/_binary32
256×sub-neg_binary32
212×times-frac_binary32
202×associate-*l*_binary32
192×associate-/r*_binary32
Counts
174 → 134
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02404907
15823846
222513764
338543764
447083764
549963764
649293764

prune169.0ms (1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1313134
Fresh11213
Picked101
Done000
Total13315148
Error
0.1b
Counts
148 → 15
Alt Table
StatusErrorProgram
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (*.f32 (cbrt.f32 v) (cbrt.f32 v)) (*.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))) (cbrt.f32 v)))))
0.5b
(*.f32 cosTheta_O (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) (/.f32 v (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (sqrt.f32 v)) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (sqrt.f32 v))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (sqrt.f32 (sqrt.f32 v))) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (pow.f32 v 3/2)) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (sqrt.f32 (sqrt.f32 v))) (*.f32 2 (sinh.f32 (/.f32 1 v))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (exp.f32 (+.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v) (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) (sqrt.f32 v)) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 v)) (*.f32 (sqrt.f32 v) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 cosTheta_i (*.f32 v v)) (exp.f32 (-.f32 (log.f32 (/.f32 1/2 (sinh.f32 (/.f32 1 v)))) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) v) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) v) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (cbrt.f32 (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))) (pow.f32 v 3/2)) (cbrt.f32 (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.6b
(*.f32 cosTheta_O (*.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i (*.f32 v v))) (cbrt.f32 (/.f32 cosTheta_i (*.f32 v v)))) (/.f32 (cbrt.f32 (/.f32 cosTheta_i (*.f32 v v))) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (*.f32 (exp.f32 (*.f32 (log.f32 v) -3/2)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 1 (pow.f32 (*.f32 (cbrt.f32 v) (cbrt.f32 v)) 3/2)) (/.f32 (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))) (pow.f32 (cbrt.f32 v) 3/2))))
0.6b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (sqrt.f32 v) (exp.f32 (+.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v) (log.f32 (*.f32 (sqrt.f32 v) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 1 (pow.f32 v 3/2)) (*.f32 (/.f32 (pow.f32 (exp.f32 (/.f32 sinTheta_i v)) (neg.f32 sinTheta_O)) (sqrt.f32 (sqrt.f32 v))) (/.f32 (/.f32 cosTheta_i (sqrt.f32 (sqrt.f32 v))) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
Compiler

Compiled 2064 to 1065 computations (48.4% saved)

regimes8.4s (50.2%)

Accuracy

Total 0.3b remaining (74.3%)

Threshold costs 0.3b (74.3%)

Compiler

Compiled 116002 to 80328 computations (30.8% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary32
1-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01935
12635
22535

end30.0ms (0.2%)

Remove

(sort sinTheta_i sinTheta_O)

(sort cosTheta_i cosTheta_O)

Compiler

Compiled 140 to 100 computations (28.6% saved)

sample3.1s (18.2%)

Algorithm
intervals
Results
954.0ms8000×body128valid
377.0ms8000×pre128true
Compiler

Compiled 639 to 415 computations (35.1% saved)

Profiling

Loading profile data...