Details

Time bar (total: 12.6s)

analyze60.0ms (0.5%)

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

Compiled 50 to 36 computations (28% saved)

sample82.0ms (0.6%)

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

Compiled 82 to 60 computations (26.8% saved)

simplify53.0ms (0.4%)

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.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.3b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.4b
(*.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.4b
(/.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)

localize69.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.3b
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
0.3b
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
0.9b
(sinh.f32 (/.f32 1 v))

rewrite162.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
19×add-cbrt-cube_binary32
19×add-exp-log_binary32
*-un-lft-identity_binary32
add-sqr-sqrt_binary32
add-cube-cbrt_binary32
Counts
4 → 69
Calls

4 calls:

7.0ms
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
3.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
3.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
2.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 1869 to 828 computations (55.7% saved)

series139.0ms (1.1%)

Error
0.3b
Counts
4 → 36
Calls

4 calls:

36.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
36.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
26.0ms
(sinh.f32 (/.f32 1 v))
25.0ms
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
Compiler

Compiled 1987 to 1363 computations (31.4% saved)

simplify103.0ms (0.8%)

Algorithm
egg-herbie
Rules
889×associate-/l*_binary32
434×associate-*l/_binary32
343×associate-/l/_binary32
322×associate-*r/_binary32
316×associate-/r*_binary32
Counts
105 → 50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01701340
14161171
214331171
344371133
447671133
549991133
649341133

prune79.0ms (0.6%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New43750
Fresh011
Picked101
Done000
Total44852
Error
0.1b
Counts
52 → 8
Alt Table
StatusErrorProgram
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (cbrt.f32 (*.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 (/.f32 cosTheta_i (*.f32 (cbrt.f32 v) (cbrt.f32 v))) cosTheta_O) (cbrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (sqrt.f32 (*.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 (*.f32 2 (sinh.f32 (/.f32 1 v))) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) (cbrt.f32 v)))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.4b
(*.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.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (/.f32 cosTheta_i (sqrt.f32 v)) cosTheta_O) (sqrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 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 (*.f32 2 (sinh.f32 (/.f32 1 v))) (sqrt.f32 v)) (sqrt.f32 v)))
Compiler

Compiled 1396 to 750 computations (46.3% saved)

localize69.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))
0.3b
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
0.6b
(exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))))
0.9b
(sinh.f32 (/.f32 1 v))

rewrite169.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
15×pow1_binary32
14×add-cbrt-cube_binary32
14×add-exp-log_binary32
*-un-lft-identity_binary32
add-sqr-sqrt_binary32
Counts
4 → 64
Calls

4 calls:

5.0ms
(*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))
5.0ms
(exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))))
3.0ms
(sinh.f32 (/.f32 1 v))
3.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
Compiler

Compiled 1766 to 841 computations (52.4% saved)

series157.0ms (1.2%)

Error
0.1b
Counts
4 → 36
Calls

4 calls:

38.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
36.0ms
(exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))))
26.0ms
(sinh.f32 (/.f32 1 v))
26.0ms
(*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))
Compiler

Compiled 2103 to 1484 computations (29.4% saved)

simplify92.0ms (0.7%)

Algorithm
egg-herbie
Rules
587×associate-*l*_binary32
507×times-frac_binary32
453×associate-/l*_binary32
389×associate-*r*_binary32
249×prod-exp_binary32
Counts
100 → 53
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01651388
13601234
210801234
342221234
449561234
549381234

prune98.0ms (0.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New49453
Fresh167
Picked101
Done000
Total511061
Error
0.1b
Counts
61 → 10
Alt Table
StatusErrorProgram
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (cbrt.f32 (*.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 (/.f32 cosTheta_i (*.f32 (cbrt.f32 v) (cbrt.f32 v))) cosTheta_O) (cbrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 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 (*.f32 2 (sinh.f32 (/.f32 1 v))) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) (cbrt.f32 v)))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 E.f32 (log.f32 (*.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 (*.f32 2 (sinh.f32 (/.f32 1 v))) (sqrt.f32 v)) (sqrt.f32 v)))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (/.f32 cosTheta_i (sqrt.f32 v)) cosTheta_O) (sqrt.f32 v))) (exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (exp.f32 (log.f32 (*.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 (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.4b
(*.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)) (exp.f32 (log.f32 (*.f32 (*.f32 (cbrt.f32 v) (cbrt.f32 v)) (*.f32 (*.f32 2 (sinh.f32 (/.f32 1 v))) (cbrt.f32 v))))))
Compiler

Compiled 1616 to 893 computations (44.7% saved)

localize71.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.3b
(*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))
0.6b
(exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))))
0.9b
(sinh.f32 (/.f32 1 v))

rewrite186.0ms (1.5%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
15×pow1_binary32
14×add-cbrt-cube_binary32
14×add-exp-log_binary32
*-un-lft-identity_binary32
add-sqr-sqrt_binary32
Counts
4 → 64
Calls

4 calls:

5.0ms
(*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))
5.0ms
(exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))))
4.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
2.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 1766 to 883 computations (50% saved)

series163.0ms (1.3%)

Error
0.1b
Counts
4 → 36
Calls

4 calls:

38.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
34.0ms
(exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))))
27.0ms
(sinh.f32 (/.f32 1 v))
26.0ms
(*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))
Compiler

Compiled 2103 to 1484 computations (29.4% saved)

simplify94.0ms (0.7%)

Algorithm
egg-herbie
Rules
587×associate-*l*_binary32
507×times-frac_binary32
453×associate-/l*_binary32
389×associate-*r*_binary32
249×prod-exp_binary32
Counts
100 → 53
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01651388
13601234
210801234
342221234
449561234
549381234

prune108.0ms (0.9%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New50353
Fresh189
Picked101
Done000
Total521163
Error
0.1b
Counts
63 → 11
Alt Table
StatusErrorProgram
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (*.f32 2 (sinh.f32 (/.f32 1 v))) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) (cbrt.f32 v)))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 E.f32 (log.f32 (*.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 (*.f32 2 (sinh.f32 (/.f32 1 v))) (sqrt.f32 v)) (sqrt.f32 v)))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (/.f32 cosTheta_i (sqrt.f32 v)) cosTheta_O) (sqrt.f32 v))) (exp.f32 (log.f32 (*.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 (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (sqrt.f32 (*.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 (/.f32 cosTheta_i (*.f32 (cbrt.f32 v) (cbrt.f32 v))) cosTheta_O) (cbrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (exp.f32 (log.f32 (*.f32 (*.f32 (cbrt.f32 v) (cbrt.f32 v)) (*.f32 (*.f32 2 (sinh.f32 (/.f32 1 v))) (cbrt.f32 v))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 (*.f32 (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (cbrt.f32 (*.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 cosTheta_i (/.f32 cosTheta_O v))) (pow.f32 E.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.4b
(*.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)) (exp.f32 (log.f32 (*.f32 (*.f32 (cbrt.f32 v) (cbrt.f32 v)) (*.f32 (*.f32 2 (sinh.f32 (/.f32 1 v))) (cbrt.f32 v))))))
Compiler

Compiled 1690 to 953 computations (43.6% saved)

localize58.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.3b
(*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.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.9b
(sinh.f32 (/.f32 1 v))

rewrite293.0ms (2.3%)

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:

12.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)))))
8.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)

series757.0ms (6%)

Error
0.1b
Counts
4 → 63
Calls

4 calls:

419.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)))))
118.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)
24.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 7391 to 5483 computations (25.8% saved)

simplify138.0ms (1.1%)

Algorithm
egg-herbie
Rules
686×times-frac_binary32
536×associate-/l*_binary32
516×associate-/r*_binary32
166×associate-*r/_binary32
166×associate-*l/_binary32
Counts
169 → 129
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04828072
114667316
250087316

prune313.0ms (2.5%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New1236129
Fresh3710
Picked101
Done000
Total12713140
Error
0.0b
Counts
140 → 13
Alt Table
StatusErrorProgram
0.4b
(*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 v (*.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 (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
24.2b
(*.f32 cosTheta_O (/.f32 (sqrt.f32 (/.f32 cosTheta_i v)) (/.f32 v (/.f32 (sqrt.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 (/.f32 cosTheta_i (sqrt.f32 v)) cosTheta_O) (sqrt.f32 v))) (exp.f32 (log.f32 (*.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 (/.f32 cosTheta_i (*.f32 (cbrt.f32 v) (cbrt.f32 v))) cosTheta_O) (cbrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 E.f32 (log.f32 (*.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 cosTheta_i (/.f32 cosTheta_O v))) (exp.f32 (log.f32 (*.f32 (*.f32 (cbrt.f32 v) (cbrt.f32 v)) (*.f32 (*.f32 2 (sinh.f32 (/.f32 1 v))) (cbrt.f32 v))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 (*.f32 (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 1 v) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) (/.f32 (/.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 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (pow.f32 E.f32 (log.f32 (*.f32 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.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.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) 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)))))))
Compiler

Compiled 4453 to 2645 computations (40.6% saved)

regimes6.2s (49.1%)

Accuracy

Total 0.3b remaining (72.3%)

Threshold costs 0.3b (72.3%)

Compiler

Compiled 76719 to 54490 computations (29% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01935
12635
22535

end32.0ms (0.3%)

Remove

(sort sinTheta_i sinTheta_O)

(sort cosTheta_i cosTheta_O)

Compiler

Compiled 140 to 100 computations (28.6% saved)

sample2.9s (22.7%)

Algorithm
intervals
Results
1.0s8000×body128valid
376.0ms8000×pre128true
Compiler

Compiled 532 to 364 computations (31.6% saved)

Profiling

Loading profile data...