Sample trimmed logistic on [-pi, pi]

Time bar (total: 19.5s)

analyze133.0ms (0.7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%1.6%98.4%0%0%0%0
0%0%1.6%98.4%0%0%0%1
0%0%1.6%98.4%0%0%0%2
25%0.4%1.2%98.4%0%0%0%3
37.5%0.6%1%98.4%0%0%0%4
56.3%0.9%0.7%98.4%0%0%0%5
65.6%1%0.5%98.4%0%0%0%6
76.6%1.2%0.4%98.4%0%0%0%7
82%1.3%0.3%98.4%0%0%0%8
87.9%1.4%0.2%98.4%0%0%0%9
90.8%1.4%0.1%98.4%0%0%0%10
93.8%1.5%0.1%98.4%0%0%0%11
95.4%1.5%0.1%98.4%0%0%0%12
Compiler

Compiled 54 to 41 computations (24.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 65.0ms
Operation ival-div, time spent: 16.0ms, 24.0% of total-time
Operation ival-add, time spent: 8.0ms, 12.0% of total-time
Operation ival-neg, time spent: 8.0ms, 12.0% of total-time
Operation ival-log, time spent: 7.0ms, 11.0% of total-time
Operation ival-mult, time spent: 6.0ms, 9.0% of total-time
Operation ival-<=, time spent: 6.0ms, 9.0% of total-time
Operation ival-exp, time spent: 5.0ms, 8.0% of total-time
Operation ival-sub, time spent: 4.0ms, 6.0% of total-time
Operation const, time spent: 2.0ms, 3.0% of total-time
Operation ival-pi, time spent: 2.0ms, 3.0% of total-time
Operation ival-and, time spent: 1.0ms, 2.0% of total-time

sample4.0s (20.5%)

Results
3.7s8255×0valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 2.5s
Operation ival-add, time spent: 557.0ms, 22.0% of total-time
Operation ival-exp, time spent: 515.0ms, 21.0% of total-time
Operation ival-div, time spent: 395.0ms, 16.0% of total-time
Operation ival-sub, time spent: 328.0ms, 13.0% of total-time
Operation ival-log, time spent: 172.0ms, 7.0% of total-time
Operation ival-<=, time spent: 151.0ms, 6.0% of total-time
Operation ival-mult, time spent: 137.0ms, 6.0% of total-time
Operation ival-neg, time spent: 87.0ms, 3.0% of total-time
Operation const, time spent: 72.0ms, 3.0% of total-time
Operation ival-pi, time spent: 42.0ms, 2.0% of total-time
Operation ival-and, time spent: 34.0ms, 1.0% of total-time
Bogosity

preprocess6.6s (34%)

Algorithm
egg-herbie
Rules
622×fma-def
545×div-sub
517×fma-neg
332×sub-neg
241×unsub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2560-256(7.429216131171756e-10 1.7606225560877533e-22)(PI.f32)
00-0-(+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))
00-0-(*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))
00-0-(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))
00-0-(-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)
00-0-(neg.f32 s)
00-0-(/.f32 (PI.f32) s)
00-0-(+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))
00-0-(exp.f32 (/.f32 (PI.f32) s))
00-0-(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))
00-0-u
00-0-(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
00-0-(neg.f32 (PI.f32))
00-0-(/.f32 (neg.f32 (PI.f32)) s)
00-0-(log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1))
00-0-(+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))
00-0-(exp.f32 (/.f32 (neg.f32 (PI.f32)) s))
00-0-s
00-0-(/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))
00-0-(-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))
00-0-1
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
067948
1137944
2289924
3868800
41953744
53652734
65774734
76894734
Stop Event
node limit
Calls
Call 1
Inputs
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 (neg.f32 s)) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) 1)))
(neg.f32 (*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1))))
(neg.f32 (*.f32 (neg.f32 (neg.f32 s)) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) 1))))
(*.f32 (neg.f32 u) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 s (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) u)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) 1)))
Outputs
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (*.f32 (+.f32 (neg.f32 u) 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (fma.f32 u -1 1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (*.f32 (+.f32 (neg.f32 u) 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (fma.f32 u -1 1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (neg.f32 u) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (*.f32 (+.f32 u 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (-.f32 (/.f32 (+.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 -1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 (neg.f32 (neg.f32 s)) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) 1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (*.f32 1 (/.f32 (PI.f32) s))))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (*.f32 (+.f32 (neg.f32 u) 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 (fma.f32 u -1 1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(neg.f32 (*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1))))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (neg.f32 u) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 u (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (*.f32 (+.f32 u 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (-.f32 (/.f32 (+.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 -1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(neg.f32 (*.f32 (neg.f32 (neg.f32 s)) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) 1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (fma.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (*.f32 1 (/.f32 (PI.f32) s))))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (*.f32 (+.f32 (neg.f32 u) 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 (fma.f32 u -1 1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1))))
(*.f32 (neg.f32 u) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 s (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) u)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) 1)))
(*.f32 (neg.f32 u) (log.f32 (+.f32 (/.f32 1 (fma.f32 s (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) u)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) -1)))
(*.f32 u (neg.f32 (log.f32 (+.f32 (/.f32 1 (fma.f32 s (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) u)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) -1))))
(*.f32 (neg.f32 u) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) u)))) (*.f32 (+.f32 (neg.f32 s) 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u))))))) -1)))
(*.f32 (neg.f32 u) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 s (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 u))))) (/.f32 (fma.f32 s -1 1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) -1)))
(*.f32 u (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 s (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 u))))) (/.f32 (-.f32 1 s) (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) -1))))
Compiler

Compiled 557 to 298 computations (46.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.9s
Operation ival-add, time spent: 1.7s, 34.0% of total-time
Operation ival-div, time spent: 1.3s, 26.0% of total-time
Operation ival-exp, time spent: 651.0ms, 13.0% of total-time
Operation ival-sub, time spent: 583.0ms, 12.0% of total-time
Operation ival-log, time spent: 312.0ms, 6.0% of total-time
Operation ival-mult, time spent: 221.0ms, 4.0% of total-time
Operation const, time spent: 132.0ms, 3.0% of total-time
Operation ival-neg, time spent: 43.0ms, 1.0% of total-time
Operation ival-pi, time spent: 18.0ms, 0.0% of total-time

eval3.0ms (0%)

Compiler

Compiled 198 to 124 computations (37.4% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
98.9%
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
Compiler

Compiled 30 to 24 computations (20% saved)

localize2.9s (15%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
6.3%
(PI.f32)
Compiler

Compiled 206 to 103 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.2s
Operation ival-add, time spent: 759.0ms, 34.0% of total-time
Operation ival-div, time spent: 470.0ms, 21.0% of total-time
Operation ival-exp, time spent: 339.0ms, 15.0% of total-time
Operation ival-log, time spent: 303.0ms, 14.0% of total-time
Operation ival-sub, time spent: 247.0ms, 11.0% of total-time
Operation const, time spent: 49.0ms, 2.0% of total-time
Operation ival-neg, time spent: 27.0ms, 1.0% of total-time
Operation ival-mult, time spent: 15.0ms, 1.0% of total-time
Operation ival-pi, time spent: 10.0ms, 0.0% of total-time

series0.0ms (0%)

Counts
1 → 0

rewrite192.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
737×log1p-expm1-u
737×expm1-log1p-u
647×prod-diff
461×log-prod
282×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1243
22343
323803
Stop Event
node limit
Counts
1 → 63
Calls
Call 1
Inputs
(PI.f32)
Outputs
(+.f32 (PI.f32) 0)
(+.f32 (+.f32 (PI.f32) 1) -1)
(+.f32 0 (PI.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(-.f32 (+.f32 (PI.f32) 1) 1)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(*.f32 1 (PI.f32))
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(*.f32 2 (*.f32 1/2 (PI.f32)))
(*.f32 1/3 (*.f32 3 (PI.f32)))
(*.f32 3 (*.f32 1/3 (PI.f32)))
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(*.f32 (log.f32 (E.f32)) (PI.f32))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(pow.f32 (PI.f32) 1)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(fabs.f32 (PI.f32))
(log.f32 (exp.f32 (PI.f32)))
(cbrt.f32 (pow.f32 (PI.f32) 3))
(expm1.f32 (log1p.f32 (PI.f32)))
(exp.f32 (log.f32 (PI.f32)))
(log1p.f32 (expm1.f32 (PI.f32)))
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)

simplify75.0ms (0.4%)

Algorithm
egg-herbie
Rules
827×log-prod
506×associate-+l+
489×associate-+r+
257×unswap-sqr
223×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0160801
1359761
21415745
36903745
Stop Event
node limit
Counts
63 → 85
Calls
Call 1
Inputs
(+.f32 (PI.f32) 0)
(+.f32 (+.f32 (PI.f32) 1) -1)
(+.f32 0 (PI.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(-.f32 (+.f32 (PI.f32) 1) 1)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(*.f32 1 (PI.f32))
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(*.f32 2 (*.f32 1/2 (PI.f32)))
(*.f32 1/3 (*.f32 3 (PI.f32)))
(*.f32 3 (*.f32 1/3 (PI.f32)))
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(*.f32 (log.f32 (E.f32)) (PI.f32))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(pow.f32 (PI.f32) 1)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(fabs.f32 (PI.f32))
(log.f32 (exp.f32 (PI.f32)))
(cbrt.f32 (pow.f32 (PI.f32) 3))
(expm1.f32 (log1p.f32 (PI.f32)))
(exp.f32 (log.f32 (PI.f32)))
(log1p.f32 (expm1.f32 (PI.f32)))
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)
Outputs
(+.f32 (PI.f32) 0)
(PI.f32)
(+.f32 (+.f32 (PI.f32) 1) -1)
(PI.f32)
(+.f32 0 (PI.f32))
(PI.f32)
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(PI.f32)
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(PI.f32)
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(PI.f32)
(-.f32 (+.f32 (PI.f32) 1) 1)
(PI.f32)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(PI.f32)
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log1p.f32 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32)))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log1p.f32 (*.f32 (expm1.f32 (PI.f32)) (+.f32 -1 (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(PI.f32)
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(-.f32 (log1p.f32 (neg.f32 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log1p.f32 (neg.f32 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(PI.f32)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(PI.f32)
(*.f32 1 (PI.f32))
(PI.f32)
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(PI.f32)
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(PI.f32)
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(PI.f32)
(*.f32 2 (*.f32 1/2 (PI.f32)))
(PI.f32)
(*.f32 1/3 (*.f32 3 (PI.f32)))
(PI.f32)
(*.f32 3 (*.f32 1/3 (PI.f32)))
(PI.f32)
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(PI.f32)
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(PI.f32)
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (cbrt.f32 (PI.f32)) (log.f32 (exp.f32 (sqrt.f32 (PI.f32))))))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/6)))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (fabs.f32 (pow.f32 (PI.f32) 3/4)))
(*.f32 (pow.f32 (PI.f32) 1/4) (pow.f32 (PI.f32) 3/4))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(PI.f32)
(*.f32 (log.f32 (E.f32)) (PI.f32))
(PI.f32)
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (cbrt.f32 (PI.f32)) (log.f32 (exp.f32 (sqrt.f32 (PI.f32))))))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/6)))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(PI.f32)
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (cbrt.f32 (pow.f32 (PI.f32) 5/2)))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (cbrt.f32 (pow.f32 (PI.f32) 5/2)))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(PI.f32)
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (fabs.f32 (pow.f32 (PI.f32) 3/4)))
(*.f32 (pow.f32 (PI.f32) 1/4) (pow.f32 (PI.f32) 3/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)))
(*.f32 (pow.f32 (PI.f32) 1/6) (fabs.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5/2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 5/2))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(PI.f32)
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(PI.f32)
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (+.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) -1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (PI.f32) 1) 3)) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (PI.f32) 1) 3)) (+.f32 1 (*.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (PI.f32) 2))
(/.f32 (*.f32 (+.f32 (PI.f32) 2) (PI.f32)) (+.f32 (PI.f32) 2))
(/.f32 (+.f32 (PI.f32) 2) (/.f32 (+.f32 (PI.f32) 2) (PI.f32)))
(pow.f32 (PI.f32) 1)
(PI.f32)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(PI.f32)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(PI.f32)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(PI.f32)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(PI.f32)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(PI.f32)
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(PI.f32)
(fabs.f32 (PI.f32))
(PI.f32)
(log.f32 (exp.f32 (PI.f32)))
(PI.f32)
(cbrt.f32 (pow.f32 (PI.f32) 3))
(PI.f32)
(expm1.f32 (log1p.f32 (PI.f32)))
(PI.f32)
(exp.f32 (log.f32 (PI.f32)))
(PI.f32)
(log1p.f32 (expm1.f32 (PI.f32)))
(PI.f32)
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(PI.f32)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(PI.f32)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(PI.f32)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)
(PI.f32)

eval106.0ms (0.5%)

Compiler

Compiled 6074 to 3980 computations (34.5% saved)

prune33.0ms (0.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1691170
Fresh000
Picked011
Done000
Total1692171
Accuracy
99.0%
Counts
171 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.9%
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (-.f32 (+.f32 (PI.f32) 1) 1) s)))))) -1))))
98.9%
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
Compiler

Compiled 64 to 52 computations (18.8% saved)

localize4.9s (25.3%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
6.3%
(PI.f32)
Compiler

Compiled 254 to 166 computations (34.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.1s
Operation ival-add, time spent: 1.1s, 27.0% of total-time
Operation ival-exp, time spent: 986.0ms, 24.0% of total-time
Operation ival-sub, time spent: 920.0ms, 22.0% of total-time
Operation ival-div, time spent: 678.0ms, 16.0% of total-time
Operation ival-log, time spent: 302.0ms, 7.0% of total-time
Operation const, time spent: 78.0ms, 2.0% of total-time
Operation ival-neg, time spent: 27.0ms, 1.0% of total-time
Operation ival-mult, time spent: 15.0ms, 0.0% of total-time
Operation ival-pi, time spent: 12.0ms, 0.0% of total-time

eval119.0ms (0.6%)

Compiler

Compiled 6754 to 4830 computations (28.5% saved)

prune36.0ms (0.2%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1700170
Fresh000
Picked011
Done011
Total1702172
Accuracy
99.0%
Counts
172 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.9%
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (-.f32 (+.f32 (PI.f32) 1) 1) s)))))) -1))))
98.9%
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
Compiler

Compiled 163 to 122 computations (25.2% saved)

regimes12.0ms (0.1%)

Accuracy

Total -0.0b remaining (-4.8%)

Threshold costs -0b (-4.8%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (-.f32 (+.f32 (PI.f32) 1) 1) s)))))) -1))))
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
Outputs
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
Calls

3 calls:

5.0ms
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
3.0ms
u
3.0ms
s
Results
AccuracySegmentsBranch
98.9%1u
98.9%1s
98.9%1(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
Compiler

Compiled 45 to 34 computations (24.4% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative
*-commutative
sub-neg
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027106
145106
257106
364106
466106
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
Outputs
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
Compiler

Compiled 30 to 24 computations (20% saved)

soundness255.0ms (1.3%)

Rules
622×fma-def
545×div-sub
517×fma-neg
332×sub-neg
241×unsub-neg
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
067948
1137944
2289924
3868800
41953744
53652734
65774734
76894734
Stop Event
node limit

end0.0ms (0%)

preprocess40.0ms (0.2%)

Compiler

Compiled 138 to 108 computations (21.7% saved)

Profiling

Loading profile data...